I am getting a run time exception
java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
I don't know what is wrong.
@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"/>
This will solve the error if you still want to use a ListActivity.
Remove the call to setContentView
- you don't need it in a ListActivity unless you're doing something radical. The code should work without it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With