0
我知道有很多這樣的問題,但每個答案都是這樣的:你缺少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);
}
每次它NullPointerException
上listView.setAdapter(dataAdapter);
停止。
正如你所看到的,我有setContentView()
onCreate
方法。
我activity_pending_invoice有名稱invoice_list_view
的ListView:
<?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
有誰知道什麼是錯?這就像一場噩夢!
你有沒有檢查過你的dataAdapter? – tdmsoares
@tdmsoares你是什麼意思?如果dataAdapter不爲null?我在調試時分割錯誤行(在第二行使用'(dataAdapter);'並且錯誤消息總是出現在'listView.setAdapter' – kristyna
後發出異常的完整堆棧跟蹤 – Blackbelt