ArrayList<Button> btns = new ArrayList<Button>();//每行5个按钮,一共15个,放到集合里面。
int bId = 1;
for (Button btn : btns) { //id弄个序号,然后循环,就不用一个个的设置了。
btn.setId(bId++);
btn.setOnClickListener(new OnClickListener(){
public void click(View v){
//这地方用switch,可以知道是那个按钮,然后做些事情。
}
});
}
解决方案 »
- android 下用EditText 实现类似邮箱增加、删除收件人的功能
- Android 实现房间摆设布局
- Android开发Button按钮问题
- 用zxing包去扫描二维码,竖屏下摄像头预览图像拉伸,怎么解决?
- 关于程序设置android:layout_weight
- android 模拟器能模拟双sim卡状态吗?
- 关于HTTP TCP连接问题
- 从activity向另一个activity中的fragment传值
- ImageView.setImageBitmap() nullpointerException
- recycleView如何打造无限循环列表?
- 关于控件跨布局拖动的问题
- 自定义的RelativeLayout能不能把配置文件里的背景传递给里面的控件??
private void updateBg(LinearLayout parent, int clickedIndex) {
final int count = parent.getChildCount();
for (int i = 0 ; i < count ; ++i) {
if (clickedIndex == i) {
parent.getChildAt(i).setBackgroundColor(Color.RED);
} else {
parent.getChildAt(i).setBackgroundColor(Color.BLACK);
}
}
}上面三排按钮的父控件布局LinearLayout都可以调用这个函数来实现修改按钮背景。
clickIndex这个参数表示点击选中的按钮的索引号,从0开始算起,每个按钮你肯定要设置onClick监听事件,这样就可以获得索引号。
意思应该大致说明白了。可能还有一种方法,直接xml配置的selector的方法,具体没实践过,楼主可以研究一下。