Quando stavo cercando di utilizzare questo codice per attivare le preferenze nella mia apperrore di annotazione @Override (prefs Android)
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);
}
}
});
};
});
}
}
Un errore viene generato su questa linea
public void onCheckedChanged(CompoundButton compoundButton,boolean test) {
dicendo:
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
Se rimuovo l'annotazione @Override, il codice non funziona e un avvertimento mi dice che quella parte del il codice non è usato localmente.
Avendo passato questo passato qualcuno e sconcertandoli mi chiedevo se potevi aiutare?
Esistono scenari comuni che causano questo errore?
ho pensato che potrebbe essere il mio progetto istituito
Grazie
WOW uomo! molte grazie. Ok, allora come e dove devo chiamare il metodo checkbox se deve essere usato localmente? – Jack
Da dentro il metodo onPreferenceClick è un modo per farlo. Dopo editor.commit() aggiungi una chiamata a CheckBox(); – Hamy
Basta modificare da 1.5 a 1.6 in YourProject-> RightClick-> Proprietà-> Java Compiler-> 1.5, a 1.6. Applica e Sì per ricostruire. – Siddharth