No debe esperar una variedad de vistas desde este método, ya que la firma del método en sí dice que devolverá una sola vista.
public final View findViewWithTag (Object tag)
Sin embargo, lo que puede hacer es conseguir que su diseño como ViewGroup
y luego iterar a través de todos los puntos de vista del niño para averiguar su vista deseada haciendo una consulta en su etiqueta. Por ejemplo:
/**
* 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 tengo una pregunta similar. ¿Puedes decirme qué hacer? http://stackoverflow.com/questions/17061833/androidone-button-id-for-many-buttons-on-expandable-list-children – user2468835
Ver: http://android-wtf.com/2013/06/ how-to-easily-travelling-any-view-hierarchy-in-android/ – Jamol