按ID或TAG查找按钮

Boe*_*Dev 2 android android-layout

我以编程方式创建了一个按钮,并为其提供了ID和标签.

Button button = new Button(this);
button.setId(i);
button.setTag(anotherID);
Run Code Online (Sandbox Code Playgroud)

我是一个柜台.

现在我想改变这个按钮的背景,但我无法找到它

findViewByID(ID)
Run Code Online (Sandbox Code Playgroud)

要么

findViewWithTag(anotherID)
Run Code Online (Sandbox Code Playgroud)

我使用ID和anotherID我创建按钮的值,但我只获得NullPointerExceptions.我没有从XML文件中获取任何ID,因为我以编程方式创建按钮.有谁知道我怎么能处理这个?

sil*_*lly 6

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

List<Button> buttons = new ArrayList<Button>();
Run Code Online (Sandbox Code Playgroud)

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

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

buttons.add(button);
Run Code Online (Sandbox Code Playgroud)

现在,您可以像这样在列表中创建您创建的视图

for(Button b: buttons) {
     if(b.getId().equals(your_id_to_check)) {
         //DO WHAT YOU WANT
     }
}
Run Code Online (Sandbox Code Playgroud)