ArrayList<Button> buttonlist = null; ViewGroup viewgroup = (ViewGroup) this.findViewById(R.id.layout);// button的parent int N = viewgroup.getChildCount(); for (int i = 0; i < N; i++) { View v = viewgroup.getChildAt(0); if (v instanceof Button) { buttonlist.add((Button) v); v.setOnClickListener(this); } }
楼上的方法是正确的,不过有个地方要修改下,应该是笔误了吧 View v = viewgroup.getChildAt(0); 改为 View v = viewgroup.getChildAt(i); 要不只对第一个BUTTON进行了操作
我的本意是BUTTON太多,有几十个,这样,相似的代码要写几十次
如果是上百,上千,怎么办?
上面的6是我随意写的
比如:button01 = 0x7f090000
button02 = 0x79090001
...比如要不就没意义了啊
ArrayList<Button> buttonlist = null;
ViewGroup viewgroup = (ViewGroup) this.findViewById(R.id.layout);// button的parent
int N = viewgroup.getChildCount();
for (int i = 0; i < N; i++) {
View v = viewgroup.getChildAt(0);
if (v instanceof Button) {
buttonlist.add((Button) v);
v.setOnClickListener(this);
}
}
View v = viewgroup.getChildAt(0);
改为
View v = viewgroup.getChildAt(i);
要不只对第一个BUTTON进行了操作