ary*_*axt 11 android view android-activity
有没有办法让我的活动中的每个视图?我有200多个视图,包括按钮和图像,所以我希望能够通过循环访问它们
比如说像
for (View v : this)
{
//do something with the views
//depending on the types (button, image , etc)
}
Run Code Online (Sandbox Code Playgroud)
Com*_*are 26
有没有办法让我的活动中的每个视图?
获取您的根View,将其转换为a ViewGroup,调用getChildCount()并getChildAt()根据需要进行递归.
我有200多个视图,包括按钮和图像,所以我希望能够通过循环访问它们
这是一个相当大的数字Views.
再具体一点:
private void show_children(View v) {
ViewGroup viewgroup=(ViewGroup)v;
for (int i=0;i<viewgroup.getChildCount();i++) {
View v1=viewgroup.getChildAt(i);
if (v1 instanceof ViewGroup) show_children(v1);
Log.d("APPNAME",v1.toString());
}
}
Run Code Online (Sandbox Code Playgroud)
然后在某处使用该函数:
show_children(getWindow().getDecorView());
Run Code Online (Sandbox Code Playgroud)
以显示当前活动中的所有视图。