gpt4 book ai didi

java - SimpleAdapter 在 while 循环中显示相同的数据

转载 作者:行者123 更新时间:2023-12-02 10:49:15 26 4
gpt4 key购买 nike

我向 SQLite 添加了许多数据,但我的 ListView 仅显示最后插入的数据。所有行都有相同的值。

    public void onResume() {

super.onResume();

db = dbHelper.getWritableDatabase();

String[] queryColumns = new String[]{"_id", DBHelper.COL_VEHICLE_TYPE, DBHelper.COL_OPTION_NAME,DBHelper.COL_DATE };

cursor = db.query(DBHelper.TABLE_NAME, queryColumns, null,null,
null,null,null);

HashMap<String,String> map = new HashMap<String,String>();

while(cursor.moveToNext())
{

map.put("vehicle_type", cursor.getString(1));
map.put("date", cursor.getString(3));
lst_driver.add(map);
}

String[] showColumns = new String[]{"vehicle_type", "date"};
int[] views = new int[] {R.id.ColType, R.id.ColDate};

adapter = new SimpleAdapter(DriverActivity.this,lst_driver, R.layout.activity_list_layout, showColumns, views);
lv_driver.setAdapter(adapter);
}

当我运行此应用程序时,在我像这样插入 SQLi 后,它会显示最后一个 DBHelper.COL_VEHICLE_TYPEDBHelper.COL_DATE

0
9-12-2018
0
9-12-2018
0
9-12-2018
0
9-12-2018

我的代码中没有使用任何更新表函数。它应该显示来自 SQLite 的所有不同值的数据。我应该如何修复它?

最佳答案

试试这个:

HashMap<String,String> map;
while(cursor.moveToNext())
{
map = new HashMap<String,String>();
map.put("vehicle_type", cursor.getString(1));
map.put("date", cursor.getString(3));
lst_driver.add(map);
}

关于java - SimpleAdapter 在 while 循环中显示相同的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52301584/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com