2016-04-14 21 views
0

私は自分のImageViewを押すとdrawableのリソースを変更します。この問題は、ImageViewが2度目に押されたときに発生します。 ImageView on againをクリックして

ImageViewが最初に押された場合、私は ImageViewが再び押され、私はそれがより drawable B押され drawable A.

に変更したいされている場合、それはdrawable Aからdrawable Bに変更したい、私に説明してみましょう再び部分はここ..

が動作していない私のコードです:

public void imageViewBiljeskeNaListiCheckMarkMetoda(View view){ 
     imageViewBiljeskeNaListiCheckMark = (ImageView) findViewById(R.id.imageViewBiljeskeNaListiCheckMark); 
     if (view == imageViewBiljeskeNaListiCheckMark){ 
      imageViewBiljeskeNaListiCheckMark.setImageResource(R.drawable.ic_biljeske_obavljeno); 
     } else { 
      imageViewBiljeskeNaListiCheckMark.setImageResource(R.drawable.ic_biljeske_nije_obavljeno); 
     } 
    } 
+0

チェックボックスのように聞こえます –

+0

はい、私はそれをカスタムドロウアブルにすることを前提にしています – DaxHR

+0

これを行うことができます。 http://stackoverflow.com/questions/7783787/how-to-change-default-images-of-checkbox –

答えて

2

その後追加...あなたはのonCreateに一度オブジェクトを初期化する必要が ....方法から

imageViewBiljeskeNaListiCheckMark = (ImageView) findViewById(R.id.imageViewBiljeskeNaListiCheckMark); 

これを削除しますブール変数。ビューの状態を制御します。 。

public void imageViewBiljeskeNaListiCheckMarkMetoda(View view){ 
     flag =!flag; 

     if (view == imageViewBiljeskeNaListiCheckMark){ 
      if (flag) {imageViewBiljeskeNaListiCheckMark.setImageResource(R.drawable.ic_biljeske_obavljeno); 
     } else { 
      imageViewBiljeskeNaListiCheckMark.setImageResource(R.drawable.ic_biljeske_nije_obavljeno); 
     } 
} 
+0

そのフラグは正確には何ですか? – DaxHR

+1

ビューの状態を制御するブール値 –

+0

Androidスタジオで解決できないため – DaxHR

1

このようなトグル方式は使用できませんか?

private void toggleDrawableOnClick(){ 

    /* now you can check to see if the set drawable is A using its id */ 
    if(visible drawable is A){ 
     imageViewBiljeskeNaListiCheckMark.setImageResource(R.drawable.ic_biljeske_nije_obavljeno); 
    }else{ 
     imageViewBiljeskeNaListiCheckMark.setImageResource(R.drawable.ic_biljeske_obavljeno); 
    } 
} 

これは簡単だと思います。

関連する問題