android - 按 ID 或 TAG 查找按钮

标签 android android-layout

我以编程方式创建了一个按钮并为其指定了一个 ID 和一个标签。

Button button = new Button(this);
button.setId(i);
button.setTag(anotherID);

我是一个计数器。

现在我想改变这个按钮的背景,但是我找不到

findViewByID(ID)

findViewWithTag(anotherID)

我将创建按钮时所用的值用于 ID 和 anotherID,但我只得到 NullPointerExceptions。我没有从 XML 文件中获取任何 ID,因为我以编程方式创建按钮。有人知道我该如何处理吗?

最佳答案

将您创建的元素保存到这样的列表中

List<Button> buttons = new ArrayList<Button>();

将您创建的按钮添加到列表中

Button button = new Button(this);
button.setId(i);
button.setTag(anotherID);

buttons.add(button);

现在您可以像这样在列表中创建 View

for(Button b: buttons) {
     if(b.getId().equals(your_id_to_check)) {
         //DO WHAT YOU WANT
     }
}

关于android - 按 ID 或 TAG 查找按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9783102/

相关文章:

java - 错误 : finished with non-zero exit value2

Android ListView 使应用程序崩溃

java - Android - 单例类仅在第二次刷新时更新

android - 冷启动时难以获得自定义 View 的高度

android - 如何同时发布 URL 和标签

android - 无法更改自定义 RatingBar 的大小

android - 如何缩放和平铺用作背景的可绘制位图?

android - 在 ConstraintLayout 之外定位 View

Java Android、倒数计时器和 ProgressBar(先读)

android - RelativeLayout 未使用协调器布局 android 正确绘制