У меня проблема с отображением записей из моего db в listview. Это мой код
public class FirstTab extends ListActivity {
private DatabaseHelper dbhelper;
@Override
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.first);
dbhelper = new DatabaseHelper(getApplicationContext());
Cursor cursor = dbhelper.getAllNotes();
startManagingCursor(cursor);
String[] columns = new String[] {DatabaseHelper.colTitle , DatabaseHelper.colDate};
int[] to = new int[] { android.R.id.text1, android.R.id.text2};
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, cursor, columns, to);
setListAdapter(mAdapter);
}
}
и
...
public Cursor getAllNotes()
{
SQLiteDatabase db=this.getReadableDatabase();
return db.query(noteTable, new String [] {colTitle, colDesc, colDate}, null, null, null, null, null);
}
...
если вам нужно больше, здесь находится repo https://github.com/grzegorz-l/myHomeworks
Когда я запускаю свое приложение, он падает в начале (RuntimeException). Если я прокомментирую две последние строки в методе onCreate, они запускаются, но fromc ничего не показывает.
Заранее спасибо
Грег
Не пропустите getApplicationContext()
при создании SimpleCursorAdapter. Вместо этого используйте this
, т.е. Контекст вашей ListActivity.
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, cursor, columns, to);
Ваш файл FirstTab.java расширяет ListActivity. Это означает, что файл макета должен содержать ListView с андроидом: id, установленным на:
android:id="@android:id/list"
Кроме того, у вашего FirstTab.java есть макет, указывающий на note_entry.xml. Он должен либо указывать на макет, который имеет ListView выше описания в нем или не будет расширен ListActivity.