Kiedy starałem się użyć tego kodu, aby umożliwić preferencje w moim appbłąd adnotacja @Override (android prefs)
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);
}
}
});
};
});
}
}
generowany jest błąd na tej linii
public void onCheckedChanged(CompoundButton compoundButton,boolean test) {
mówiąc:
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
Jeśli usuniemy adnotację @Override, kod nie zadziała, a ostrzeżenie poinformuje mnie, że ta część kod nie jest używany lokalnie.
Po tym, jak przeszedłem przez kogoś i zdumiewałem ich, zastanawiałem się, czy mógłbyś pomóc?
Czy są jakieś typowe scenariusze, które powodują ten błąd?
myślałem, że to może być mój projekt utworzenia
Dzięki
WOW man! wielkie dzięki. Ok, więc jak i gdzie mam zadzwonić do tej metody, jeśli ma być używana lokalnie? – Jack
Od wewnątrz metody onPreferenceClick jest jednym ze sposobów na to. Po editor.commit() dodaj połączenie do CheckBox(); – Hamy
Wystarczy zmodyfikować od 1,5 do 1,6 w swoim YourProject-> RightClick-> Properties-> Java Compiler-> 1.5, to 1.6. Zastosuj i Tak, aby odbudować. – Siddharth