Я уже пару недель пытаюсь добавить некоторые настройки в свое приложение.
Мне действительно нужна только функция флажка.
Я пытаюсь контролировать видимостьодин переключатель с проверкой флажка
Вот мои Preferences.java
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.Preference.OnPreferenceChangeListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.Toast;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.view.View;
public class Preferences extends PreferenceActivity {
private RadioButton btn01;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);
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(){
public boolean OnCheckedChange (CompoundButton compoundButton) {
if (ThisCheckBox.isChecked()){
{
btn01.setVisibility(0);
}{
btn01.setVisibility(2);
}}
}
;
});
};}});}}
В любом случае, я почти уверен, что это совершенно неправильно, и я получаю сообщение об ошибке в этой строке
ThisCheckBox.setOnCheckedChangeListener (new OnCheckedChangeListener () {
есть идеи, почему? Я думаю, что это связано с тем, как я назвал строку выше, но использую ли я final, boolean или void itпо-прежнему генерирует ошибки
это сообщение об ошибке
Тип new CompoundButton.OnCheckedChangeListener () {} должен реализовывать унаследованный абстрактный метод CompoundButton.OnCheckedChangeListener.onCheckedChanged (CompoundButton, boolean) * 10181019 * Итак, я думаю, что я спрашиваю:
Правильно ли я выполняю настройки и как правильно выполнить команду If else ??