Я пытался решить эту проблему, но, похоже, не могу найти то, что ищу в поиске Google последние несколько дней, я попал и пропустил то, что связано с тем, что я хочуделаю, но не сталкивался с чем-то, что я пытаюсь сделать.
Для начала я собрал свою базу данных SQLite вместе с «TheNewBoston Android Tuts», все работает отлично, теперь, когда я пытаюсь изменитьпросмотр базы данных вокруг него выдает ошибки или вылетает при запуске приложения.Я хочу отобразить определенные столбцы в строке из БД с помощью курсора с помощью цикла for и динамически загрузить TableView с данными:
DbEntry [data |данные |Показано |данные |Дисплей |Дисплей |data]
Я могу сделать это, если у меня отключен TextView, но с его помощью в TableLayout> TableRow я думаю, что это проблема, но не уверен ... хотел бы иметь возможность загрузитьтаблицы строк из самого класса вместо установки текстовых представлений, если это возможно.Я надеюсь, что дал достаточно информации о том, что я пытаюсь сделать, если кто-нибудь может указать мне на действительно хороший учебник или пролить свет на него, он будет очень признателен.
XML:
<TableLayout
android:id="@+id/view_Table"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="5" >
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="4" >
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/view_DbCol3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="DB Col 3 Displayed Data" />
</TableRow>
с xml, я надеюсь, что я делаю таблицу правильно, что она похожа на вещи типа hmtl, помещая строки таблицы рядом друг с другом
Класс SQLview
setContentView(R.layout.sqlview);
TextView tv = (TextView) findViewById(R.id.view_DbCol3);
try {
DBload info = new DBload(this);
info.open();
String data = info.getData();
info.close();
tv.setText(data);
} catch (Exception e) {
// Error Message Dialog
String error = e.getLocalizedMessage();
Dialog d = new Dialog(this);
d.setTitle("DB ERROR");
TextView tv1 = new TextView(this);
tv1.setText(error);
d.setContentView(tv1);
d.show();
}
Класс DbHelper:Метод getData
public String getData() {
String[] cols = new String[] {KEY_PLACE};
// I have also tried with all my KEY variables
// reads info from DB columns
Cursor c = ourDB.query(KEY_TABLE, cols, null, null, null, null, null);
String result = "";
int Ione = c.getColumnIndex(KEY_PLACE);
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
result = result
+ c.getString(Ione)
+ "\n";
}
return result;
}
полученная ошибка:
11-17 00: 13: 09.993: E / CursorWindow (590): неверный запрос для слота поля 0, -1.numRows = 2, numColumns = 1
как я уже сказал, я надеюсь, что дал достаточно информации для небольшой помощи, если это возможно, большое спасибо