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

标签 java android arraylist

我正在努力处理 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/

相关文章:

java - 如何对 3x3 的单选按钮网格进行分组?

android - 是否有任何可以管理循环引用的android json库?

Android Studio 构建 transformClassesWithJarMergingForDebug 报错

java - 电话资费计算器

java - 使用 Spring 和 Spring Data 更新集合中的对象

java - 搜索未返回对象

java - 反转有向图

java - java中的ArrayList数组

java - 如何将 Dataset<Tuple2<String,DeviceData>> 转换为 Iterator<DeviceData>

android - Bluemix 示例应用程序失败并返回 "Failed to authenticate against MCA"