我想在单击复选框时更改图像

时间:2018-09-27 11:37:52

标签: android checkbox

我希望当我第一次单击此复选框时,它应该从“图像视图”中更改图像,而当我再次单击同一复选框时,应在“图像视图”中使用另一个图像更改图像。

我尝试过:-

checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         if(isChecked){
             myImage.setBackgroundResource(R.drawable.saveimage);
         }else{
             myImage.setBackgroundResource(R.drawable.deleteimage);
         }
     }
 });

3 个答案:

答案 0 :(得分:0)

除了缺少使用setchecked方法之外,您的代码没有任何问题。选中复选框时,请致电checkbox.setchecked(true);取消复选框时,请致电checkbox.setchecked(false);

答案 1 :(得分:0)

因为您的图片位于Drawable中,我认为您应该尝试以下操作:

checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         if(isChecked){
             myImage.setImageDrawable(getResources().getDrawable(R.drawable.saveimage,getApplicationContext().getTheme()));
         }else{
             myImage.setImageDrawable(getResources().getDrawable((R.drawable.deleteimage,getApplicationContext().getTheme()));
         }
     }
 });

答案 2 :(得分:0)

已完成:-

全局获取(布尔switchStatus = false);

if(switchStatus == true){
    dialog.dismiss();
    image1.setImageResource(R.drawable.icon_delete);
    switchStatus = false;
}else{
    dialog.dismiss();
    image1.setImageResource(R.drawable.icon_checkmark);
    switchStatus = true;
}