【问题标题】:How to access items from ListView connected to SQL Server如何从连接到 SQL Server 的 ListView 访问项目
【发布时间】:2014-04-24 15:05:03
【问题描述】:

我有一个带有文本视图的列表视图,它从 sql server 中的表中获取信息作为 id、描述和数量。我需要当用户单击列表视图中的项目时,使用用户选择的信息打开另一个活动,用户可以编辑并保存在数据库中。

我有以下代码查询数据库并填充列表视图,但我找不到将信息传递给另一个活动的方法。有什么帮助吗?

public void getProd() { comandSQL = "Select * from Inventory where [Code] = '"+loccode+"' order by [Bin Code]";

    try {
        Statement statement = MainActivity.connect.createStatement();
        rs = statement.executeQuery(comandSQL);
            List<Map<String, String>> data = null;
        data = new ArrayList<Map<String,String>>();

        while(rs.next()){         
             Map<String, String> datanum = new HashMap<String, String>();
             datanum.put("idProd", rs.getString("No_"));
             datanum.put("desc", rs.getString("Description"));
             datanum.put("ubic", rs.getString("Bin Code"));
             datanum.put("cant", rs.getString("Inventory"));
             data.add(datanum);
        }
        String[] from = {"idProd","desc","ubic","cant"};
        int[] views = {R.id.id_prod,R.id.descripcion, R.id.ubicacion,R.id.cant}; 
        AD = new SimpleAdapter(this, data, R.layout.list, from, views);
        Lista.setAdapter(AD);
    } catch (Exception e) {
    Log.e("ERROR",e.getMessage());
    }       
}

【问题讨论】:

  • 设置列表项单击侦听器并通过意图传递信息并使用 Bundle 从另一个活动中检索信息。做一点研究,你会明白的。

标签: java android sql-server database sql-server-2008


【解决方案1】:

您想为每个列表视图项设置一个点击监听器:

@Override 
public void onListItemClick(ListView l, View v, int position, long id) {
    // Do something when a list item is clicked
}

点击项目时,您需要从该视图收集数据,然后只需启动一个新活动,通过 Intent 传递该数据

Intent intent = new Intent(mContext, YourNewActivity.class);
intent.putExtra("MyData", userData.toString());
startActivity(intent);

【讨论】:

  • 是的,我已经这样做了,但问题是相同的textviews要使用所有信息,使用相同的模型与textview xml重复显示300条记录数据库,然后我不知道如何获取列表项的 textview 信息,而不是我解释过的。
  • 从您的适配器,您应该能够执行 getView() 给定单击视图的位置或 id (itemClicked = adpater.getView(pos) )。那是在上面的点击监听器中。您可以使用 Texview text = itemclicked.getChildAt(index) 之类的方式获取视图的子项
  • 我还有一个问题,由于我使用的是textviews,listview是不可选的,我在xml模型中添加了一个按钮来重复listview的每个元素,但我仍然有同样的问题,我无法获取listview每一项的每个textview中的信息——
猜你喜欢
  • 1970-01-01
  • 2021-07-11
  • 2010-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多