java<ToggleButton>onClickListener将drawable更改回默认值
我有一个ToggleButton,它应该可以在打开/关闭时更改其他一些按钮的绘图(和功能)
到目前为止,我只通过使用这段代码使它以一种方式工作
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
toggle = (ToggleButton) findViewById(R.id.bRedGreen);
toggle.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
minuskugle = (Button) findViewById(R.id.bBallhole);
minuskugle.setBackgroundResource(R.drawable.redballinhole);
}
});
}
如何在再次单击时将可缩回默认值
<强><<强><<强><<强><<强强><<强><<强><强><强><强><<强><<强><<强><<强><<强><强><强><<强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><强><难难><强><强><难难><强><强><强><难><强><强><强><强><强><难难><强><难难><难><<
这适用于一个条目
但是,如果我添加多个条目,“else”会出现错误
这是有效的:
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
pluskugle = (Button) findViewById(R.id.bBallhole);
minuskugle = (Button) findViewById(R.id.bBallhole);
pluskegle = (Button) findViewById(R.id.bKegle);
minuskegle = (Button) findViewById(R.id.bKegle);
if(toggle.isChecked())
minuskugle.setBackgroundResource(R.drawable.redballinhole);
else
pluskugle.setBackgroundResource(R.drawable.whiteballhole);
这不是
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
pluskugle = (Button) findViewById(R.id.bBallhole);
minuskugle = (Button) findViewById(R.id.bBallhole);
pluskegle = (Button) findViewById(R.id.bKegle);
minuskegle = (Button) findViewById(R.id.bKegle);
if(toggle.isChecked())
minuskugle.setBackgroundResource(R.drawable.redballinhole);
minuskegle.setBackgroundResource(R.drawable.redkegle);
else
pluskugle.setBackgroundResource(R.drawable.whiteballhole);
pluskegle.setBackgroundResource(R.drawable.redkegle);
# 1 楼答案
虚拟解决方案
在某个地方保留一个布尔值以保存状态
# 2 楼答案
试试这个: