gpt4 book ai didi

android - 如何查找具有特定标签(属性)的 View 列表

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:26:53 25 4
gpt4 key购买 nike

我为 UI 小部件设置了标签,我想检索具有特定标签的 View 列表。使用 View.findViewWithTag("test_tag") 只返回一个 View ,而不是所有支持标签的 View 。

感谢任何帮助。

最佳答案

你不应该期待这个方法的 View 数组,因为方法签名本身告诉它会返回一个 View 。

public final View findViewWithTag (Object tag) 

但是,您可能要做的是将布局设置为 ViewGroup,然后遍历所有 subview ,通过查找它们的标签找到您想要的 View 。例如:

/**
* 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;
}

关于android - 如何查找具有特定标签(属性)的 View 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9920559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com