我在列表视图中有两个编辑文本和文本视图。文本视图值是从Sq lite通过适配器设置的,我在列表视图外有一个按钮。我的问题是当我点击按钮时,每个编辑文本中的值将被存储到一个数组中,之后我可以再次将它存储到SQLite中。但是在运行代码时我会得到空值。我尝试了很多其他方法但失败的方法。请帮助获得答案。如何从按钮点击列表视图中获取编辑文本值
这里是我的代码
protected void InsertDb() {
// TODO Auto-generated method stub
View v;
HashMap<String, String> itemdata = new HashMap<String, String>();
for (int i = 0; i < list.getChildCount(); i++) {
v = list.getAdapter().getView(i, null, null);
cases = (EditText) v.findViewById(R.id.cases);
pcs = (EditText)v.findViewById(R.id.pcs);
itemdata.put("cases", cases.getText().toString());
itemdata.put("pieces", pcs.getText().toString());
}
Log.v("working correctly", itemdata.toString());
}
this is how my activity looks like 提前谢谢..
这不是你如何从适配器读取视图。 'getView'就是你调用它的方式,只返回空'EditText'。你能详细说明你想达到什么吗? – hoomi
@ hoomi我只想从编辑文本中获取值。这个编辑文本驻留在列表视图中。由于列表视图的大小很大,每次运行应用程序时都不需要在所有编辑文本中输入值。有些可能保持为空。我想要通过迭代列表视图来输入编辑文本中输入的值。 – Bivin