2017-05-01 10 views
1

Onメソッドを作成します。Androidスタジオ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); 

myarraististodatabase code;

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>(); 

イムこれらを使用しますが、私はアプリ

答えて

0

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; 
} 
0

を実行するときは、すべてのArrayListにコンテンツを追加していないリストビューでの出力がありません。 ListViewを使用するためにmyArraylist.Add(dbString)か何かをArrayListに入力してください。