Ich habe eine Aktivität mit ListView
.Android Kontext für LayoutInflater
Adapter für dieses ListView
Ich habe von android.widget.BaseAdapter
erstellt:
public class SaleItemAdapter extends BaseAdapter {
...
@Override
public View getView(int position, View view, ViewGroup viewGroup) {
SaleItem saleItem = saleItems.get(position);
if (saleItem.getFolder()) {
view = LayoutInflater.from(context).inflate(R.layout.list_folder_item, viewGroup);
TextView nameFolder = view.findViewById(R.id.nameFolder);
nameFolder.setText(saleItem.getName());
} else {
view = LayoutInflater.from(context).inflate(R.layout.list_sale_item, viewGroup);
}
return view;
}
Die Frage ist: Welche Art von Kontext ich für LayoutInflater verwenden?
Ich versuchte getApplicationContext()
aus meiner Tätigkeit zu verwenden, wenn instantiate Adapter-Objekt adapter = new SaleItemAdapter(this.getApplicationContext());
aber es einen Absturz auf meine Anwendung nach dieser Codezeile verursacht:
view = LayoutInflater.from(context).inflate(R.layout.list_folder_item, viewGroup);
Was macht Ihr stacktrace Fehler sagen? Ich denke, das Problem liegt in der Art wie du den Inflater bekommst. – Marlon
Wie kann ich StackTrace-Fehler in Android Studio 3.1 erhalten? Sorry für newbe Frage ... –
Öffnen Sie Logcat (Abkürzung alt + 6) auf Android-Studio. Wenn Sie ein Gerät angeschlossen haben oder ein Emulator läuft, werden dort alle Protokolle angezeigt. – Marlon