我有一个listview,每行都有一个EditText。 每个EditText都有他的验证,因此,当我单击MenuItem" Finish"时,我想对每个EditText进行验证并显示错误(如果有的话)。
我知道如何在我的适配器中访问我的EditText,但在我的适配器中,我无法访问MenuItem。 在我的适配器之外,我可以访问我的MenuItem OnClick,但我无法再获取我的edittext值...
任何解决方案???
答案 0 :(得分:3)
您可以遍历listView并执行以下操作:
View v = myList.getAdapter().getView(i, null, null);
EditText et = (EditText) v.findViewById(nameOfTheView);
检查this answer。
答案 1 :(得分:0)
答案 2 :(得分:-1)
您可以做的一件事是设置一个类来保存变量:
public class MyVarHolder {
public EditText myText;
}
然后将其用于getView方法:
mHolder.myText = (EditText) root.findViewById(R.id.my_edit_text);
convertView.setTag(mHolder);
最后一步是让持有者进入列表的onClickListener:
onItemClickListener(AdapterView<?> adapterView, View view, int position, long id) {
MyVarHolder tag = (MyVarHolder)view.getTag();
String editText = tag.myText.getText().toString();
...Do whatever you want...
}