listView
配列からデータを入力しようとしています。ただし、Java コードでリストビューを見つけようとすると、findViewById 関数は null を返します。
ここに私のXMLがあります:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/androidbg_dark"
tools:context=".DiaryActivity" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/lstAppts"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="5"
android:textColor="#FFFFFF" ></ListView>
<LinearLayout
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_weight="1"
android:layout_height="64dp">
<Button
android:id="@+id/btnOther"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="2dip"
android:layout_weight="1"
android:background="@drawable/menu_button"
android:onClick="newAppointment"
android:textColor="#FFFFFF" />
<Button
android:id="@+id/btnOther2"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="2dip"
android:layout_weight="1"
android:background="@drawable/menu_button"
android:onClick="newAppointment"
android:textColor="#FFFFFF" />
<Button
android:id="@+id/btnNewAppt"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="2dip"
android:layout_weight="1"
android:background="@drawable/menu_button"
android:onClick="newAppointment"
android:text="@string/newappt"
android:textColor="#FFFFFF" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
そして、問題のコードは次のとおりです。
ListView lstAppts = (ListView) findViewById(R.id.lstAppts);
String[] data = { "Appointment 1", "Appointment 2", "Appointment 3" };
ArrayAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data);
lstAppts.setAdapter(adapter);
私の知る限り、リストビューを正しく参照しています。私のXMLでは「lstAppts」という名前で、findViewById
関数ではR.id.lstAppts
. ただし、ブレークポイントを使用してコードをデバッグすると、lstAppts オブジェクトがnull
. どうしてこれなの?