我正在动态创建按钮......
for(int i=0; i<colSize;i++){
final Button btn = new Button(this);
btn.setText(SectionName[i]);
btn.setTextSize(10);
btn.setPadding(8, 3,8, 3);
btn.setTextColor(Color.WHITE);
btn.setTypeface(Typeface.SERIF, Typeface.BOLD);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//***Every time that I click my button is selected !:)
btn.setSelected(true);
}
});
}
但是我如何取消选择所选的其他按钮,我只想选择一个按钮! :)
答案 0 :(得分:3)
onClick
被触发时,只需循环遍历列表并禁用“其他”按钮答案 1 :(得分:2)
声明一个变量来存储Clicked Button ::
的Idprivate int EnabledButton;
在创建时为每个按钮设置ID ::
btn.setId(i);
或标签::
btn.setTag(i);
然后在该Listener中获取“EnabledButton”,并调用一个函数来取消选择其他按钮::
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
EnabledButton=btn.getId();
DeselectButtons();
btn.setSelected(true);
}
});
取消选择其他按钮的函数::
public void DeselectButtons() {
for(int i=0; i<NumberofButtons;i++){
if (EnabledButton!= i)
this.findViewById(i).setSelected(false);
}
}