Cuando yo estaba tratando de utilizar este código para habilitar las preferencias en mi app

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.Preference.OnPreferenceClickListener;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.Toast;
import android.widget.CompoundButton.OnCheckedChangeListener;
public class Preferences extends PreferenceActivity {
private RadioButton btn01;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
btn01 = (RadioButton)findViewById(R.id.RadioButton01);
Preference customPref = (Preference) findPreference("customPref");
customPref.setOnPreferenceClickListener(new OnPreferenceClickListener(){
public boolean onPreferenceClick(Preference preference) {
Toast.makeText(getBaseContext(),"The Custom Preference Has Been Clicked",Toast.LENGTH_LONG).show();
SharedPreferences customSharedPreference = getSharedPreferences("myCutomSharedPrefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = customSharedPreference.edit();
editor.putString("myCustomPref","The preference has been clicked");
editor.commit();
return true;
}
public void CheckBox() {
final CheckBox ThisCheckBox = (CheckBox) findViewById (R.id.checkboxPref);
ThisCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton compoundButton,boolean test) {
if (ThisCheckBox.isChecked()){ 
btn01.setVisibility(0);
} else {
btn01.setVisibility(2);
}
}
});
};
});
}
}

Se genera un error en esta línea

 public void onCheckedChanged(CompoundButton compoundButton,boolean test) {

diciendo:

Multiple markers at this line
- The method onCheckedChanged(CompoundButton, boolean) of type new 
CompoundButton.OnCheckedChangeListener(){} must override a superclass method
- implements 
android.widget.CompoundButton.OnCheckedChangeListener.onCheckedChanged 

Si puedo quitar el @Override anotación, a continuación, el código no funciona y una advertencia que me dice que el que parte del código no se utiliza localmente.

De haber corrido esta en el pasado de alguien y desconcertante de ellos me preguntaba si usted podría ayudar?

Hay escenarios comunes que provoca este error?

Pensé que podría ser mi proyecto

Gracias

InformationsquelleAutor Jack | 2011-01-21

3 Comentarios

  1. 18

    Es una implementación cosa. En Java 5 vs Java 6 cambiaron ya sea que usted podría utilizar para «Reemplazar» con una interfaz (ya Sobrepaso parece implicar que va a reemplazar algún tipo de comportamiento predeterminado, que no estás haciendo con una interfaz!). Si usted lo desea, puede buscar en el Eclipse de las preferencias y el cambio de un error de compilación para una compilación de advertencia. El código dentro de la Casilla de verificación() la función se ve bien para mí.

    Sin embargo, nunca llamar a la Casilla de verificación de la función, así que ahí es donde el ‘no se utiliza localmente» error viene. Fueron un significado para llamar a esa función desde dentro de la OnPreferenceClick método?

    • WOW man! muchas gracias. Ok, a continuación, cómo y dónde estoy yo para llamar la casilla de verificación método si es para ser utilizado a nivel local?
    • Desde el interior de la onPreferenceClick método es una manera de hacer eso. Después de editor.commit() añadir una llamada a la Casilla();
    • Sólo tiene que modificar 1.5 a 1.6 en su YourProject->click derecho->Propiedades->Compilador de Java->1.5, 1.6. Aplicar y Sí para reconstruir.
  2. 49

    Usted puede ir a la configuración del Proyecto –> Compilador de Java, y cambiar el compilador nivel de cumplimiento a 1.6. Tengo que hacerlo cada vez que puedo importar un proyecto existente.

    • sí, a mí me funciona.
    • He cambiado ‘Compilador Cumplimiento de 1.5 a 1.6 y funcionó. gracias

Dejar respuesta

Please enter your comment!
Please enter your name here