package net.example.view;
class StatusBar extends View { ... }
我在布局中使用它,如下所示:
<net.example.view.StatusBar .../>
我必须通过它的类型(类)找到它,我的意思是:
myActivityInstance.findViewsByClass(StatusBar.class) // returns View[]
这可能吗?如果不是,那么在不必使用 findViewById() 的情况下查找元素的更好方法是什么?
谢谢。
最佳答案
如果您无法使用 id 并且您的内容 View 是某种 ViewGroup,您可以迭代 subview 。
ViewGroup vg = (ViewGroup) activity.getContentView();
for(int i=0; i<vg.getChildCount(); i++) {
View v = vg.getChildAt(i);
if(v instanceof StatusBar) {
// do something interesting.
}
}
此外,如果您知 Prop 体索引,则可以直接调用 getChildAt(index)
。
关于java - 通过具有 Activity 实例的类型(类)查找 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5554103/