0

検索しましたが、コードが正しく機能しない理由がわかりません。データベースの行を表示し、その行のすべてのレコードをリストビューに表示したいと考えています。コードは機能しますが、データベース内の行からすべてのレコードではなく、1 つのリストビュー値のみを返します。これが私の更新されたコードです:

db = openOrCreateDatabase ("Names", MODE_PRIVATE, null); 

    String query = "SELECT * from players";
    Cursor c = db.rawQuery(query, null);
    int count = c.getCount();
    c.moveToFirst();

    ListView layout=(ListView)findViewById(R.id.listView1);  

    for (Integer j = 0; j < count; j++){ 


        String lister = c.getString(c.getColumnIndex("names_of"));

        String[] items = {lister};
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items);
        layout.setAdapter(adapter);
    c.moveToNext();

    }

    db.close();


}

配列が正しく機能していません。最初の値以上のものを取得するにはどうすればよいですか? よろしくお願いします
ここに画像の説明を入力

4

2 に答える 2

0

これを使用してください。すべての値を文字列配列に保存し、アダプタ行をループの外に移動する必要があります

for (Integer j = 0; j < count; j++){ 
String[j] items = lister;
}

 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items);
  layout.setAdapter(adapter);
于 2013-08-23T07:09:08.587 に答える