我目前正在为我的公司申请一个申请。 该应用程序正在使用存储在外部存储上的sqlite数据库。
现在我想在ListView中显示数据库的所有表名
我获得表名的部分如下所示:
public ArrayList < String[] > getDBTables() {
SQLiteDatabase db = this.getReadableDatabase();
Cursor c = db.rawQuery(
"SELECT name FROM sqlite_master WHERE type='table'", null);
ArrayList < String[] > result = new ArrayList < String[] > ();
int i = 0;
result.add(c.getColumnNames());
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
String[] temp = new String[c.getColumnCount()];
for (i = 0; i < temp.length; i++) {
temp[i] = c.getString(i);
System.out.println("TABLE - " + temp[i]);
}
result.add(temp);
}
return result;
}
&#13;
它工作得很好。 但现在我必须在ListView中显示它,并且问题就出现了。
我尝试过这样:
dbTablesView = (ListView) findViewById(R.id.listView);
ArrayList<String[]> tables;
tables=datasource.getDBTables();
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, tables );
dbTablesView.setAdapter(arrayAdapter);
&#13;
但它告诉我,我不能使用java.util.ArrayList来创建适配器。
我真的很感谢你的帮助。