Android獲取activity上所有指定類型的控件
Android獲取所有指定類型的子控件,這樣就不需要逐個使用findViewByID來獲取控件,來達到控制狀態的目的了。
/**
- 獲取所有指定類型的子控件
- @param T
@return */ private List<View> getAllChildViews(Class<?> T) {
View view = this.getWindow().getDecorView();
return getAllChildViews(view, T);
}</pre>
private List<View> getAllChildViews(View parent, Class<?> T) {
List<View> allchildren = new ArrayList<View>();
if (parent instanceof ViewGroup) {
ViewGroup vp = (ViewGroup) parent;
for (int i = 0; i < vp.getChildCount(); i++) {
View viewchild = vp.getChildAt(i);
if (viewchild.getClass().equals(T)) { allchildren.add(viewchild); }
allchildren.addAll(getAllChildViews(viewchild, T));
}
}
return allchildren; }</pre>
本文由用戶 dyydp 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!