Bạn không nên mong đợi một loạt các khung nhìn từ phương thức này, vì chính chữ ký của phương thức cho biết rằng nó sẽ trả về một khung nhìn duy nhất.
public final View findViewWithTag (Object tag)
Tuy nhiên, những gì bạn có thể làm là để có được bố trí của bạn như ViewGroup
và sau đó lặp qua tất cả các quan điểm con để tìm hiểu xem mong muốn của bạn bằng cách thực hiện một cái nhìn lên trên thẻ của họ. Ví dụ:
/**
* Get all the views which matches the given Tag recursively
* @param root parent view. for e.g. Layouts
* @param tag tag to look for
* @return List of views
*/
public static List<View> findViewWithTagRecursively(ViewGroup root, Object tag){
List<View> allViews = new ArrayList<View>();
final int childCount = root.getChildCount();
for(int i=0; i<childCount; i++){
final View childView = root.getChildAt(i);
if(childView instanceof ViewGroup){
allViews.addAll(findViewWithTagRecursively((ViewGroup)childView, tag));
}
else{
final Object tagView = childView.getTag();
if(tagView != null && tagView.equals(tag))
allViews.add(childView);
}
}
return allViews;
}
waqas tôi có một câu hỏi tương tự. bạn có thể cho tôi biết phải làm gì không? http://stackoverflow.com/questions/17061833/androidone-button-id-for-many-buttons-on-expandable-list-children – user2468835
Xem: http://android-wtf.com/2013/06/ làm thế nào để dễ dàng-đi-qua-bất kỳ-view-hierarchy-in-android/ – Jamol