2017-06-07 1 views
0

Ich versuche, einen Schalter zu schaffen, wenn sie aktiviert ist versteckt eine Taste button genannt, aber es gibt einen Fehler für SetOnCheckedChangeListener und buttonView die Cannot resolve symbolAndroid „Can not Symbol lösen“ für setOnCheckedChangeListener und 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

ich denke da @Override Annotation fehlt ... folge meiner Antwort dafür. –

Antwort

1

sagt Vielleicht Sie haben zu platzieren ToggleButton in onCreate() -Methode versuchen oben Code

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

Danke, es hat den Fehler behoben, aber jetzt bekomme ich einen anderen Fehler: Fehler: (24, 21) error: lokale Variable Toggle wird von innerhalb der inneren Klasse zugegriffen; muss endgültig erklärt werden –

+0

Eine einfache google hat es behoben danke! –

+0

Alles, was in der inneren Klasse von Java verwendet wird, muss als final deklariert werden. also platzieren Sie das letzte Schlüsselwort wie folgt vor: 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); 
       } 
      } 
     }); 
Verwandte Themen