如何从首选项屏幕打开AlertDialog?

Dha*_*dra 15 android android-preferences

我在android中开发应用程序我想显示AlertDialog如果用户从首选项屏幕检查checkboxpreference.那我怎么能这样做..?

Vai*_*ani 16

试试这个......

public class MyPreferences extends PreferenceActivity implements OnSharedPreferenceChangeListener {

      public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
                final Preference preference) {

         if(preference.equals("MyCheckboxPreferenceKey")) {

             AlertDialog.Builder builder = new AlertDialog.Builder(this);

         builder.setMessage("Your Message");

         builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {

           public void onClick(DialogInterface dialog, int id) {

             //action on dialog close
           }

         });

         builder.show();

      }


}
Run Code Online (Sandbox Code Playgroud)


GrA*_*And 1

onSharedPreferenceChanged在你的班级中覆盖PreferenceActivity

public class MyPreferences extends PreferenceActivity implements OnSharedPreferenceChangeListener {
    ...
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
        if (key.equals("MyCheckboxPreferenceKey")) {
            //Show your AlertDialog here!
        }
    }
Run Code Online (Sandbox Code Playgroud)