Android SimpleCursorAdapter Проблема - PullRequest
0 голосов
/ 06 июля 2011

Я написал этот метод в классе My DataBaseHelper:

public Cursor fetchData(String tableName) {
    return myDataBase.rawQuery("SELECT rowid as _id, title FROM "+tableName, null);
}

И написал этот код в одном из моих занятий:

    try {
        Cursor cursor = myDbHelper.fetchData("tableName");
        String[] columns = {cursor.getColumnName(0), cursor.getColumnName(1)}; 
        int[] columnsLayouts = {R.id.layout1, R.id.layout2}; 
        SimpleCursorAdapter ca = new SimpleCursorAdapter
                            (this.getBaseContext(),
                            android.R.id.list, cursor,columns , columnsLayouts);
        lv.setAdapter(ca); //lv is my ListView with id="@android:id/list"
        txt.setText("Done ! : "); //Process is Ok

    } catch (Exception e){
        txt.setText("Error"); //Error happens
    }

Код компилируется нормально. Тем не менее, он принудительно закрылся при достижении этой линии lv.setAdapter(ca);.

Есть проблема? я сделал это неправильно?

-

UPDATE: это ошибки logCat (после того как я отфильтрую их по: android.view)

LogCat screen

1 Ответ

1 голос
/ 06 июля 2011

Android вылетает при попытке надуть элементы в вашем списке.Второй параметр конструктора - это макет -

layout - идентификатор ресурса файла макета, который определяет представления для этого элемента списка.Файл макета должен включать как минимум те именованные представления, которые определены в «to»

. Вы передаете android.R.id.list, который звучит для меня так, будто вы передаете идентификатор списка вместо идентификатора элемента.

...