2016-04-14 9 views
0

Ich möchte meine ImageView ändern, es ist drawable Ressource wie es gedrückt wird. Das Problem tritt auf, wenn ImageView zum zweiten Mal gedrückt wird.ImageView auf wieder klicken Sie auf

Lassen Sie mich erklären, wenn ImageView erstes Mal gedrückt wird, ich will es von drawable A bis drawable B. ändern, wenn ImageView erneut gedrückt wird ich es will

zu drawable A. von drawable B ändern, die gedrückt wieder funktioniert Teil hier nicht ..

mein Code:

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

es klingt wie ein Kontrollkästchen –

+0

Ja, aber ich würde es vorziehen, um benutzerdefinierte zeichnen zu sein – DaxHR

+0

Sie können Kontrollkästchen machen, dass tun. http://stackoverflow.com/questions/7783787/how-to-change-default-images-of-checkbox –

Antwort

2

entfernen diese aus dem Verfahren .... Sie müssen das Objekt einmal in der onCreate init ...

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

Dann wird ein hinzufügen boolesche Variable, um den Status der Ansicht zu steuern. .

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

Was genau ist das Flag? – DaxHR

+1

Ein boolescher Wert zum Steuern des Status der Ansicht –

+0

Da Android Studio es nicht lösen kann – DaxHR

1

Können Sie nicht einfach eine Toggle-Methode wie diese verwenden?

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); 
    } 
} 

Dies sollte einfacher sein, glaube ich!

Verwandte Themen