我正在构建一个“表单验证”方法,以查看所有EditText对象都不为空。
我想为每个EditText对象调用相同的方法(在循环中),我怎样才能将它们全部复制?
P.S。它们在XML文件中定义,而不是在.java文件中,如果重要的话
答案 0 :(得分:1)
你可以走遍所有的孩子,看看它是否在instanceof EditText
,但我认为一个更好的方法是拥有int[]
个ID并迭代它并调用findViewById()
来获取单个EditText
个实例。
int[] editIds = new int[] { R.id.edit1, R.id.edit2, R.id.edit3 };
for (int id : editIds ) {
MyEditText text = (MyEditText) findViewById(id);
text.validate();
}
答案 1 :(得分:1)
只是遍历ViewGroup的所有子项
final int count = parent.getChildCount();
for(int i = 0; i < count ; i++){
try{
EditText et = (EditText)parent.getChildAt(i);//this causes exception if view is not EditText
//perform validation here
}
catch(Exception e){
}
}