Я знаю, что таких вопросов очень много, но каждый ответ подобен: вам не хватает setContentView().ListView - findviewbyid возвращает null
Это мой Java-код:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pending_invoice);
invoices = new PendingInvoices().getListInvoices();
fillList();
}
private void fillList() {
ListAdapter dataAdapter = new PendingInvoiceAdapter(this, R.layout.pending_invoice_row, invoices);
ListView listView = (ListView) findViewById(R.id.invoice_list_view);
listView.setAdapter(dataAdapter);
}
Everytime он останавливается с NullPointerException
на listView.setAdapter(dataAdapter);
.
Как вы можете видеть, у меня есть setContentView()
по onCreate
способ.
Мой activity_pending_invoice имеет ListView с именем invoice_list_view
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/invoice_list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/dark_gray"
/>
</LinearLayout>
pending_invoice_row является просто LinearLayout
одним Textview
Кто-нибудь знает, что случилось? Это как кошмар!
Вы когда-нибудь проверяли свой адаптер данных? – tdmsoares
@tdmsoares Что значит? Если dataAdapter не равен нулю? Я разделил строку с ошибкой во время отладки (с помощью '(dataAdapter);' во второй строке), и сообщение об ошибке всегда появляется на 'listView.setAdapter' – kristyna
, чтобы опубликовать полную стекю исключения – Blackbelt