2016-12-22 11 views
0

dies ist mein CodeAndroid Änderung Wert der Variablen auf Klick

final boolean identifier = true; 
     if (i2 > i){ 
      if (identifier){ 
       v5.setOnClickListener(new View.OnClickListener(){ 
        @Override 
        public void onClick(View v) { 
         identifier = false; 
        } 
       }); 
      } 
      if (!identifier){ 
       v5.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         identifier = true; 
        } 
       }); 
      } 
     } 

aber dies scheint nicht zu funktionieren gut aus. , was ich will, ist, wenn v5 geklickt wird, wird es einen Code ausführen, die

v5 OnClickListener ändern wird diese
+1

'Android Änderung Wert der Variablen auf click': warum' identifier' ist 'final'? –

+0

warum 2 onclicklistner? – Sridhar

+0

Ich versuche, meine Sicht als einen Schalter aus zu machen. Beim ersten Klick wird der Inhalt angezeigt und beim zweiten Klick wird der Inhalt ausgeblendet. der Zyklus läuft wie ungerade gerade –

Antwort

2

Versuchen.

boolean identifier = false; 

    v5.setOnClickListener(new View.OnClickListener(){ 
       @Override 
       public void onClick(View v) { 
        if(!identifier){ 
        // first click 
        identifier=true; 
        }else{ 
        // secondclick 
        identifier=false; 
        } 
       } 
      }); 
+0

immer noch das gleiche. cant Aufruf Bezeichner innerhalb onClick, wenn es nicht endgültige und endgültige Variable scheint nicht erlauben, Änderung der Variablen –

+0

machen Sie den Bezeichner öffentlich und dann versuchen – Sridhar

+0

@GilbertMendoza definieren Sie Bezeichner außerhalb der Methode (von onCreate). – Spartan

0
int identifier = 0; 
     if (i2 > i){ 
      if (identifier=0){ 
       v5.setOnClickListener(new View.OnClickListener(){ 
        @Override 
        public void onClick(View v) { 
         identifier = 1; 
        } 
       }); 
      } 
      if (identifier!=0){ 
       v5.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         identifier = 0; 
        } 
       }); 
      } 
     } 
+0

Identifikator muss endgültig sein und endgültige Variable kann nicht ändern ihren Wert –

1
  1. final aus Ihrer identifier Erklärung, entfernen und machen es zu einem class private field so können Sie es von Ihrem OnClickListener zugreifen.
  2. nur ein OnClickListener Set und haben sie den Wert von identifier überprüfen, etwa so:

    v5.setOnClickListener(new OnClickListener(){ 
        @Override 
        public void onClick(View v) { 
         identifier = !identifier; // switch the value to false/true 
         // update your UI 
        } 
    }); 
    
Verwandte Themen