Android Простой Курсор адаптер и Курсор

Я создал приложение, которое получает данные с другим атрибутом, добавляет их в базу данных, а затем показывает их через ListView.

Я выполнил ту часть, где данные добавляются, но я не могу понять, как извлечь их (сейчас мне просто нужно имя) из базы данных и заполнить их в ListView.

Вот часть в классе базы данных.

public Cursor getCursor() {
    Cursor c = null;
    sqLiteDatabase = this.getReadableDatabase();
    String query = "SELECT * FROM tbl_customer";
    String where = null;
    c = sqLiteDatabase.query("tbl_customer", new String[]{"Name"}, where, null, null, null, null);
    if (c != null) {
        c.moveToFirst();

    }
    return c;
}

вот часть кода в деятельности, в которой я хочу показать ListView.

private void populateListView(){
    Cursor cursor = db.getCursor();
   String []From = new String[]{"Name"};

    int [] to = new int[R.id.textView];

    SimpleCursorAdapter adapter;
    adapter = new SimpleCursorAdapter(this,R.layout.listview_items,cursor,From,to,0);

    ListView listView = (ListView)findViewById(R.id.ShowDataListView);
    listView.setAdapter(adapter);
}

Пожалуйста, направь меня туда, где я ошибся, и поправь меня.

3 ответа

Вы используете R.id.textView в качестве размера массива

int [] to = new int[R.id.textView];

так должно быть

int [] to = new int[]{R.id.textView};

Если вам нужен полный учебник о том, как создать список и извлечь его из базы данных sqlite, вот учебник с нуля http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/

Вы должны указать From а также To параметры SimpleCursorAdapter.

adapter = new SimpleCursorAdapter(this,R.layout.listview_items,cursor,
new String[] { "Name" },to,0);

Что касается toнеобходимо указать идентификатор вашего текстового представления из R.layout.listview_items, Давайте предположим, что идентификатор вашего TextView R.id.text1 тогда адаптер будет выглядеть следующим образом,

adapter = new SimpleCursorAdapter(this,R.layout.listview_items,cursor,
new String[] { "Name" },
new int[] { android.R.id.text1 },
0);

Здесь, посмотрите на документацию, чтобы понять это более четко.

Другие вопросы по тегам