我有一个创建64个按钮的循环,在循环中,该按钮使用button.setId(n)
问题是,如何调用具有特定ID的按钮来更改其属性。
理想情况下,我正在寻找与此类似的东西
ImageView button2 = (ImageView)findViewById(button.("with id 14, for example"))
答案 0 :(得分:1)
如果您要设置ID,则表示您已知道该ID。因此,您使用您设置的ID调用findViewById()
。
IOW,如果你打电话:
button.setId(14);
你稍后打电话给:
findViewById(14);
当然,欢迎您将Button
个对象放在数组或其他内容中,然后以这种方式访问它们。
答案 1 :(得分:0)
一种方法:每次创建按钮时,将其引用添加到容器对象中,如:
Map<Integer, ImageView> buttonViews = new HashMap<Integer, ImageView>();
添加按钮状态:
ImageView b = new ImageView (this);
buttonViews.put(id, b);
要将属性更改为任何按钮:
buttonViews.get(id).setImageResource(R.drawable.buttonImage1);
通过这种方式,您可以制作各种效果......