当按下按钮时,它的背景状态发生变化,我希望当我再次按下按钮时,它的背景状态将恢复到初始状态。这意味着第一次单击选择,第二次单击取消选择。我怎么能这样做?
orderBtn = new OrderButton(getApplicationContext());
orderBtn.setId(i);
orderBtn.setText(option);
orderBtn.setTextColor(Color
.parseColor("#FFFFFF"));
orderBtn.setBackgroundResource((R.drawable.selector));
orderBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
v.setSelected(true);
enabledButton = orderBtn.getId();
deselectButtons();
}
});
public void deselectButtons() {
for (int i = 0; i < jsonArray.length(); i++) {
if (enabledButton != i)
findViewById(i).setSelected(false);
}
最佳答案
所以,您可以做的一件事是:
yourButton.setOnClickListener(new ClickListener(){
int check = 1; //When check = 1 ,you have your FIRST background set to the button
@Override
public void Click(View v){
if(check == 1){
yourButton.setBackground(R.drawable.secondBackground);
check = 0;
}else{
yourButton.setBackground(R.drawable.firstBackground);
check = 1;
}
}
});
Amyways,我记得我是通过修改 toggleButton 使用的选择器来做到这一点的,但我真的、真的没有时间搜索我的旧项目和东西……就优化而言,选择器应该是好一点,但如果您没有大量这些按钮来检查它们的背景并不断更改它们,我想您应该没问题。
如果有帮助请告诉我^^
关于android - 在android中的onClick按钮中选择和取消选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30427450/