繁体   English   中英

Android studio sqlite到listview

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM