检索所有视图对象,android

时间:2011-06-15 19:03:16

标签: java android

我正在构建一个“表单验证”方法,以查看所有EditText对象都不为空。

我想为每个EditText对象调用相同的方法(在循环中),我怎样才能将它们全部复制?

P.S。它们在XML文件中定义,而不是在.java文件中,如果重要的话

2 个答案:

答案 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){
    }
}