ListView findViewById返回null

时间:2012-09-17 23:29:24

标签: android listview android-listview

我没有使用ListActivity,因为我想扩展FragmentActivity。相反,我正在尝试使用:

ListView lv = (ListView) findViewById(R.id.mainListView);

不幸的是,lv为空。

在我的xml中我有:

 <ListView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainListView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1" >
</ListView>

我也尝试在列表视图中使用不同的android id,例如你在使用ListActivity时必须使用的那个,但它总是空的。

编辑:我在调用setContentView之前尝试调用findViewById。调用setContentView首先修复它。

4 个答案:

答案 0 :(得分:3)

正如JRaymond在评论中提到的那样,我需要在使用findViewById之前调用setContentView。

答案 1 :(得分:2)

你应该在你的代码之上写setContentView ....对不起我的英语....!

答案 2 :(得分:1)

尝试:

ListView lv = (ListView) view.findViewById(R.id.mainListView);

答案 3 :(得分:0)

这可能有助于你

 xmlns:android="http://schemas.android.com/apk/res/android"

将其从xml中的Listview中删除,然后使用

<ListView
    android:id="@+id/mainListView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1" >
</ListView>