我有listview,其中包含N个行和相同数量的EditText对象。用户应该在每个EditText中输入值,如果你错过其中一个条目应用程序必须将焦点放在该字段上。
这是我检查条目的方式:
for(int i=0;i<listOfInouts.size();i++){
View view=lv.getChildAt(i);
EditText editText=(EditText) view.findViewById(R.id.txtMyEntry);
if (editText.getText().toString().isEmpty()
{
// Toast - here goes toast message
editText.setFocusable(true);
}
else
{
// do something else
}
}
但是这段代码效果不好。这是检查EditText值的正确方法吗?
答案 0 :(得分:0)
if (TextUtils.isEmpty(editText.getText())
{
// Toast - here goes toast message
editText.setFocusable(true);
}
else
{
// do something else
}
试试这段代码
并且列表视图中使用的视图会被回收,因此您无法获得每个位置的精确视图(只有Visible视图才能获得正确的值)