Wie man Kontext, in getView des Adapters für das listview-Steuerelement

Ich habe drei Fragen:

  1. Ich bin mit getApplicationContext im Gegensatz zu allen Beispielen, die ich gesehen habe, einfach sagen Rahmen. Wie bekomme ich den Zusammenhang hier? Oder ist der Anwendungskontext in Ordnung?

  2. Gibt es irgendwelche Leistungseinbußen für mich überschreiben der getView statt ihn handle es sich (ich bin das nur tut, um eine benutzerdefinierte schriftart)

  3. Gibt es irgendetwas, was ich beachten sollte bei der Verwendung dieses Ansatzes (wie bin ich nur kopieren und einfügen, ohne zu verstehen, was es tun wird, wenn ich mit 250 Sachen in meiner Liste). Alle mögliche Lecks, ich kann Ursache?

Mein Code:

private Typeface arabicFont;
arabicFont = Typeface.createFromAsset(getAssets(), "arabicfont.ttf");

...

_arabicAdapter = new SimpleCursorAdapter(this,
                                          R.layout.book_list_item_arabic,
                                          _cursor,
                                          new String[] {"NumberArabic", "Arabic"},
                                          new int[] {R.id.txtNumber, R.id.txtBookName},
                                          CursorAdapter.NO_SELECTION)
{
    @Override
    public View getView(int position, View convertView, ViewGroup parent)
    {
        if(convertView == null)
        {
            LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = inflater.inflate(R.layout.book_list_item_arabic, parent, false);
        }

        TextView txtBookName = (TextView)convertView.findViewById(R.id.txtBookName);
        txtBookName.setTypeface(arabicFont);

        txtBookName.setText("\"العربية\"");
        return convertView;
    };
};
InformationsquelleAutor sprocket12 | 2013-11-15
Schreibe einen Kommentar