gpt4 book ai didi

android - 统计Android中的控件数量

转载 作者:搜寻专家 更新时间:2023-11-01 08:59:14 26 4
gpt4 key购买 nike

我是 android 的新手,现在我正试图找到一种方法来获取控件的数量(我不知道如何在 android 中调用这些控件,我的意思是我有 4 个 TextView 、2 个编辑文本、3 个按钮,所以我总共有 9 个“控件”),有什么方法可以计算它们吗?

最佳答案

它们在 Android 中称为 View 。是的,甚至是按钮。您可以使用 getChildCount() 但如果您在 View 中有 View ,则必须递归执行此操作。我要做的是获取您的基本 View ,然后使用类似的东西:

public int getViewCount(View view) {
int viewCount = 1;
if(view instanceof ViewGroup) {
viewCount += countChildren((ViewGroup)view);
}
return viewCount;
}

public int countChildren(ViewGroup viewGroup) {
int viewCount = 0;
for(int i = 0; i < viewGroup.getChildCount(); i++){
viewCount += getViewCount(viewGroup.getChildAt(i));
}
return viewCount;
}

让事情变得复杂的是,只有 ViewGroup 可以有 child ,但按钮和其他东西是 View 的实例,而不是 ViewGroup 的实例。

如果你不希望它计算 ViewGroups,试试这个:

public int getViewCount(View view) {
int viewCount = 1;
if(view instanceof ViewGroup) {
viewCount = 0; // Uncounts for ViewGroups, but still checks them for Views.
viewCount += countChildren((ViewGroup)view);
}
return viewCount;
}

public int countChildren(ViewGroup viewGroup) {
int viewCount = 0;
for(int i = 0; i < viewGroup.getChildCount(); i++){
viewCount += getViewCount(viewGroup.getChildAt(i));
}
return viewCount;
}

关于android - 统计Android中的控件数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16600771/

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