【问题标题】:Sqlite listview only show last colum or oneSqlite listview 仅显示最后一列或一列
【发布时间】:2018-04-24 13:46:21
【问题描述】:

嗨,我使用 sqlite,我需要显示所有库名,但列表视图只显示最后一个列名检查图片enter image description here One is last added

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

【问题讨论】:

  • 因为您在每次循环迭代时都在重新创建并重新分配 ArrayAdaper。另请注意,您误用了notifyDatabaseChanged() 方法

标签: android database sqlite listview android-sqlite


【解决方案1】:

您的函数需要返回对象的 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;
}

【讨论】:

  • 谢谢,但我不知道我必须放什么我放的字符串错误我放了类错误我放了anythink错误我推模型错误请再次帮助
  • in FavoriteObj
  • Rasoul Miri Salam Mitoni Gmaileto Bedi Chan Ta Soal Dashtam MamnonL>
  • @king_Tesla parcham persian hamishe balast, javab kharejiharo midim, javabe ironi nadim miri.rasoul@gmail.com
猜你喜欢
  • 1970-01-01
  • 2019-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多