![](/img/trans.png)
[英]Android Studio: SQlite db ListView items disappear on startActivity
[英]Android studio sqlite to listview
关于创建方法;
db = openOrCreateDatabase("messages", MODE_PRIVATE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS message(msg TEXT);");
db.execSQL("INSERT INTO message values('example');");
listeview1 = (ListView) findViewById(R.id.listview);
ArrayList<String> dbArray = myArrayListTodatabase();
ListAdapter mylistadapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, dbArray);
listview.setAdapter(mylistadapter);
Myarraylisttodatabase代码;
public ArrayList<String> myArrayListTodatabase() {
db = openOrCreateDatabase("messages", MODE_PRIVATE, null);
db.rawQuery("Select * from message", null);
Cursor c = db.rawQuery("Select * from message", null);
c.moveToFirst();
String dbString = "";
while (!c.isAfterLast()) {
if (c.getString(c.getColumnIndex("msg")) != null) {
dbString += c.getString(c.getColumnIndex("msg"));
dbString += "\n";
}
c.moveToNext();
}
db.close();
return myArraylist;
}
全局变量
SQLiteDatabase db = null;
public ArrayList<String> myArraylist = new ArrayList<String>();
我使用这些但是当我运行应用程序时listview中没有输出
您根本没有向ArrayList添加内容。 添加myArraylist.Add(dbString)
或其他东西来填充您的myArraylist.Add(dbString)
以供ListView使用。
你忘了插入ArrayList。 使用以下内容更新您的功能:
public ArrayList<String> myArrayListTodatabase() {
myArraylist.clear();
db = openOrCreateDatabase("messages", MODE_PRIVATE, null);
db.rawQuery("Select * from message", null);
Cursor c = db.rawQuery("Select * from message", null);
String dbString = "";
while (c.moveToNext()) {
if (!c.getString(c.getColumnIndex("msg")).equals("")) {
myArraylist.add(c.getString(c.getColumnIndex("msg")));
}
}
c.close();
db.close();
return myArraylist;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.