2017-06-07 3 views
0

Je suis en train de créer un commutateur qui, lorsqu'il est activé cache un bouton appelé button mais il renvoie une erreur pour SetOnCheckedChangeListener et buttonView qui dit Cannot resolve symbolAndroid « ne peut pas résoudre le symbole » pour setOnCheckedChangeListener et buttonView

package com.jordthedev.firstapplication; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.CompoundButton; 
import android.widget.ToggleButton; 

public class MainActivity extends AppCompatActivity { 
    int count = 0; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

    } 


    public void switchActivity(View v){ 
     startActivity(new Intent(MainActivity.this, SecondActivity.class)); 
    } 

    ToggleButton toggle = (ToggleButton) findViewById(R.id.toggleButton); 
    toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
      if (isChecked) { 
       toggle.setVisibility(toggle.INVISIBLE); 
      } else { 
       toggle.setVisibility(toggle.VISIBLE); 
      } 
     } 
    }); 

} 
+0

je pense qu'il y a des annulations @Override est manquant .... suivez ma réponse pour cela. –

Répondre

1

Peut-être vous doivent placer ToggleButton dans la méthode onCreate() essayez le code ci-dessus

package com.jordthedev.firstapplication; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.CompoundButton; 
import android.widget.ToggleButton; 

public class MainActivity extends AppCompatActivity { 
    int count = 0; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     final ToggleButton toggle = (ToggleButton) findViewById(R.id.toggleButton); 
     toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 

      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
       if (isChecked) { 
        toggle.setVisibility(toggle.INVISIBLE); 
       } else { 
        toggle.setVisibility(toggle.VISIBLE); 
       } 
      } 
     }); 
    } 


    public void switchActivity(View v){ 
     startActivity(new Intent(MainActivity.this, SecondActivity.class)); 
    } 



} 
+0

Merci, il a corrigé l'erreur, mais maintenant je reçois une erreur différente: Erreur: (24, 21) erreur: la variable locale bascule est accessible à partir de la classe interne; doit être déclaré final –

+0

Un simple google l'a corrigé merci! –

+0

Tout ce qui est utilisé dans la classe interne de Java doit être déclaré final. donc placez le dernier mot-clé devant comme ceci final ToggleButton toggle = (ToggleButton) findViewById (R.id.toggleButton); – mdb

0

Replace your OnCheckedChangeListener Code with this

ToggleButton toggle =(ToggleButton) findViewById(R.id.toggleButton); 
     toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
      @Override 
      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
       if (isChecked) { 
        toggle.setVisibility(toggle.INVISIBLE); 
       } else { 
        toggle.setVisibility(toggle.VISIBLE); 
       } 
      } 
     });