2017-11-11 340 views
-1

喜使用SQLite我,我需要显示所有coulms的名字,但列表视图只显示最后colums命名支票影像enter image description here One is last addedsqlite的列表视图只显示最后科拉姆或一个

private void ListShow() { 
      list = findViewById(R.id.list); 
      myDb.getReadableDatabase(); 
      myDb.getWritableDatabase(); 
      Cursor res = myDb.getAllData(); 
      while (res.moveToNext()) { 
       String[] strNAME = new String[]{res.getString(0) 
       }; 
       ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
         android.R.layout.simple_list_item_1, android.R.id.text1, strNAME); 
       list.setAdapter(adapter); 
    adapter.notifyDataSetChanged(); 
      } 
     } 
public Cursor getAllData() { 
     SQLiteDatabase db = this.getWritableDatabase(); 
     Cursor res = db.rawQuery("select * from "+TABLE_NAME,null); 
     return res; 
    } 
+0

因为您正在重新创建并在每次循环迭代时重新分配ArrayAdaper。另外请注意,你滥用'notifyDatabaseChanged()'方法 –

回答

0

您函数需要返回ArrayList的对象,参见示例:

public ArrayList<FavoriteObj> selectAllRow() { 
      String query = "SELECT * FROM " + tableName; 

      ArrayList<FavoriteObj> favoriteObjs= new ArrayList<>(); 
      try { 
       Cursor cursor = this.getReadableDatabase().rawQuery(query, null); 
       if (cursor.moveToFirst()) { 
        do { 
         favoriteObjs.add(new FavoriteObj(
           String.valueOf(cursor.getString(1)) 
           , cursor.getString(2) 
           , null 
           , cursor.getInt(3))); 
        } while (cursor.moveToNext()); 
       } 
       cursor.close(); 
      } catch (Exception e) { 
       Log.i("error", e.toString()); 
      } 
      this.getReadableDatabase().close(); 
      return favoriteObjs; 
} 
+0

谢谢,但我不知道我必须把我把什么字符串错误我把类错误我把anythink错误我pust模型错误请再次帮助 –

+0

FavoriteObj –

+0

Rasoul Miri <波斯语Languge> Salam Mitoni Gmaileto Bedi Chan Ta Soal Dashtam Mamnon –

相关问题