RuntimeException:你的内容必须有一个ListView,它的id属性是'android.R.id.list'
我得到一个运行时exception
java.lang.RuntimeException:你的内容必须有一个ListView的id属性是'android.R.id.list'
我不知道什么是错的。
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.newslist); mDbHelper.open(); fillData(); } private void fillData() { Bundle extras = getIntent().getExtras(); long catID = extras.getLong("cat_id"); Cursor c = mDbHelper.fetchNews(catID); startManagingCursor(c); String[] from = new String[] { DBHelper.KEY_TITLE }; int[] to = new int[] { R.id.newslist_text }; SimpleCursorAdapter notes = new SimpleCursorAdapter(this, R.layout.text_newslist, c, from, to); setListAdapter(notes); }
newslist.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ListView android:id="@+id/catnewslist" android:layout_width="wrap_content" android:layout_height="wrap_content"> </ListView> </LinearLayout>
text_newslist.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:text="@+id/newslist_text" android:id="@+id/newslist_text" android:layout_width="wrap_content" android:layout_height="wrap_content"> </TextView> </LinearLayout>
<ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent"/>
这将解决错误,如果你仍然想使用ListActivity。
删除对setContentView
的调用 – 你不需要它在ListActivity中,除非你正在做一些激进的事情。 代码应该没有它的工作。
另一种方法是,不要扩展ListActivity
。 只要扩展Activity
,那么你可以通过setContentView()
创build你的列表视图,并通过findViewById(R.id.yourlistview)
获得列表视图。
如果从ListActivity
扩展,则不要使用setContentView()
。 您需要通过getListView()
获取列表活动中托pipe的默认列表视图。
我收到的错误消息有类似的问题,我发现这是因为我扩展ListActivity而不是只是活动(这是我从重新利用代码从不同的项目;))
<ListView android:id="@id/android:list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawSelectorOnTop="false" android:scrollbars="vertical"/>
我也是这样的 在我的情况(也许与您的情况不相关,只是分享给他人)在类mainActivity.java
yourClassName extends ListActivity(){...}
改为yourClassName extends Activity(){...}
我也面临这个问题,我是从listactivity扩展我的活动类,但我的列表视图的id不defencet我改回列表,现在它的工作正常。 阿西姆soroya