2012-05-05 4 views
1

チェックボックスがオンまたはオフになるとすぐにチェックボックスの現在の状態を取得したいと考えています。それに基づいてトーストメッセージを表示します。ここまでは私のコードです。チェックボックスがオンまたはオフになるとすぐにステータスを取得します

SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); 
    boolean Alarm = getPrefs.getBoolean("cbAlarm", true); 
    if(Alarm == true) { 
     Toast.makeText(this, "Checked", Toast.LENGTH_LONG).show(); 
    } else if(Alarm == false) { 
     Toast.makeText(this, "UnChecked", Toast.LENGTH_LONG).show(); 
    } 

これをどのように達成できますか。助けてください。

CheckBox myCheckBox = (CheckBox) findViewById(R.id.my_checkbox); 

myCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener(){ 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked){ 
     if (isChecked){ 
      Toast.makeText(this, "Checked", Toast.LENGTH_LONG).show(); 
     }else{ 
      Toast.makeText(this, "UnChecked", Toast.LENGTH_LONG).show(); 
     } 
    } 
}); 

答えて

1

ちょうどOnCheckedChangeListenerを実装して、私のxmlファイルです。 CheckBoxPreferenceでこれをどうすればできますか?上記の私の更新をご確認ください
+1

私はこれを知っているが、ここで私はCheckBoxPreferenceを使用しています:

編集 はここ

<CheckBoxPreference android:title="Enable/Disable Alarm" android:defaultValue="true" android:key="cbAlarm" android:summary="Enable or disable alarm" /> 
2619

+1

CheckBoxPreferenceにはOnPreferenceClickListener()があります http://developer.android.com/reference/android/preference/Preference.OnPreferenceClickListener.html – theelfismike

関連する問題