0

在Android中2.12.3它工作正常。但是for3.0及以上findViewById并没有找到第二个ListView。我已经尝试过清理项目,也尝试过不使用ListActivity,没有任何帮助。有任何想法吗?

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);
    setListAdapter(List1Adaptor);
    list1 = (ListView) findViewById(android.R.id.list);

    list2 = (ListView) findViewById(R.id.ListView2);
    list2.setAdapter(List2Adapter);//Null Pointer
}

main.xml

<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/linearLayout1"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:orientation="vertical" >
 <ListView
     android:id="@+id/ListView2"
     android:layout_height="wrap_content"
     android:layout_width="fill_parent" >
 </ListView>


</LinearLayout>
<RelativeLayout
android:id="@+id/listLayout_relativeLayout2"
android:layout_height="320dp"
android:layout_width="fill_parent" >

<ListView            
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
</ListView>
</RelativeLayout>
4

2 回答 2

0

您的布局有android:id="@+id/listView2"(注意:小写“l”)并且您的 Java 代码正在请求R.id.ListView2(注意:大写“L”)。尝试在这两种情况下使用相同的案例。

于 2012-04-23T23:06:06.733 回答
0

您的 xml 文件缺少根视图。我很惊讶它适用于任何版本的 Android。你应该用线性布局或类似的东西包围一切。

于 2012-04-24T16:47:16.597 回答