gpt4 book ai didi

java - 将单独的结果集添加到 ListView

转载 作者:太空宇宙 更新时间:2023-11-04 10:53:40 26 4
gpt4 key购买 nike

我正在努力处理 UI 元素。我正在使用 Android 和 SQL Server 存储过程。我正在寻找一种将单个结果集添加到 ListView 的方法。

我的大部分研究似乎都发现,当结果集已经包含多于一行时,我的每次/每个事件触发器只会返回一行

onClick 将触发一个 select 语句,该语句将返回一行结果。每次点击都会发生这种情况,并且列表应该在每次点击时增长(添加新项目),但对我来说,列表中的项目会替换点击时的第一个项目。

    Connection con = connectionClass.CONN();
connect = con;
lstBales= (ListView) findViewById(R.id.lstBales);


PreparedStatement statement = connect.prepareStatement("EXEC SelectbyId '" + ItemID.toString() + "'");
final ArrayList list = new ArrayList();
rs = statement.executeQuery();

while (rs.next()) {
list.add(rs.getString("col1")+","+ rs.getString("col2")+","+ rs.getString("col3")+","+ rs.getString("col4"));
}
ArrayAdapter adapter = new ArrayAdapter(ReadActivityTwo.this,
android.R.layout.simple_list_item_1, list);

lstBales.setAdapter(adapter);

最佳答案

您应该使用Cursor从表中获取行。

public ArrayList<HomeClass> getdata() {
Cursor cursor = null;
cursor = DBConstant.sqliteDatabase.query(your query);

if (cursor != null && cursor.getCount() > 0) {
if (cursor.moveToFirst()) {
do {
list = new ArrayList<>();
String postid = cursor.getString(cursor.getColumnIndex(DBConstant.TBL_MULTIPLE_IMAGE.POST_ID));
String multipleImagepath = cursor.getString(cursor.getColumnIndex(DBConstant.TBL_MULTIPLE_IMAGE.SET_MULTI_IMAGE));

// here your modal class which stores one row data .
homeclass = new HomeClass();
homeclass.setPost_id(postid);
homeclass.setmultipleImagepath (multipleImagepath );

} while (cursor.moveToNext());


list.add(homeclass);

}
}
if (cursor != null && !cursor.isClosed()) {
cursor.close();
}

return list;
}

使用上面Adapter设置的方法。调用此方法后添加代码

final ArrayList<HomeClass> list = new ArrayList();
list=getdata();

ArrayAdapter adapter = new ArrayAdapter(ReadActivityTwo.this,
android.R.layout.simple_list_item_1, list);
lstBales.setAdapter(adapter);

关于java - 将单独的结果集添加到 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47526315/

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