gpt4 book ai didi

java - 如何循环遍历所有控件并在 Android 中获取其 id 和值?

转载 作者:行者123 更新时间:2023-11-29 18:29:47 25 4
gpt4 key购买 nike

我的主 Activity 区域有 10 个按钮,我想遍历所有控件并检查该控件是否是一个按钮,最后提取它的值和 ID。

我已经尝试遍历 10 并获取每个 id,但我必须将我的按钮命名为 button1、button2....,问题是这样命名按钮在以后的使用中会很麻烦。

for (int i = 0; i < 16; i++) {
int id = getResources().getIdentifier("button_"+i, "id", getPackageName());
button[i] = findViewById(id);
}

在 VB.NET 中,您可以通过以下方式执行此任务:

For Each Con As Control In Me.Controls
If Con.GetType Is GetType(Button)
//code here
End If
Next

最佳答案

您可以使用 getChildCount()getChildAt() 从布局中获取所有 subview ,然后检查 View 是否是按钮的实例。像这样:

// assuming this is your parent layout
LinearLayout llyParent = findViewById(R.id.linearlayout);

Button[] button = new Button[10];

// then you can iterate for each child view inside the layout
int count = llyParent.getChildCount();

// count the last position of the button
int lastPosition = 0;

for (int i = 0; i < count; i++) {
// get the child View
View view = llyParent.getChildAt(i);

// then check if it an instance of a Button
if (view instanceof Button) {
button[lastPosition] = (Button) view;

// increment the position for the next button.
lastPosition++;
}

}

关于java - 如何循环遍历所有控件并在 Android 中获取其 id 和值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56880051/

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