Android:Preferences.xml中的对话框[需要帮助]

时间:2014-04-05 04:50:44

标签: android dialog preference

在我的偏好活动中,我正在使用警告对话框,但我在OnSharedPreferenceChangeListener上收到错误,我在某处做错了吗?请帮帮我,谢谢!

 public class MainSettings extends     PreferenceActivity implements //getting error here     OnSharedPreferenceChangeListener
{


    private WebView webView4;


    @Override
    public void onCreate(Bundle savedInstanceState) {       
        super.onCreate(savedInstanceState);          
        addPreferencesFromResource(R.xml.preferences);        


    }

          public boolean onPreferenceTreeClick
(PreferenceScreen preferenceScreen,
                    final Preference preference)
{
             if
(preference.equals("dialog_preference"))
{


         AlertDialog.Builder adb = new AlertDialog.Builder(this);
        adb.setCancelable(false); 
            adb.setView(webView4);
            adb.setTitle("What's New?");
            adb.setIcon(R.drawable.alert_icon);
            adb.setPositiveButton("OK", new DialogInterface.OnClickListener() {


                    public void onClick(DialogInterface dialog, int id) {  


                    }  
                }); 


            adb.show();



      }

1 个答案:

答案 0 :(得分:0)

您需要将其声明为:

public class MainSettings extends PreferenceActivity implements OnSharedPreferenceChangeListener {
  ...
}

并且,为了编译OnSharedPreferenceChangeListener,您需要导入以下类:

import android.content.SharedPreferences.OnSharedPreferenceChangeListener;

OnSharedPreferenceChangeListener包含在android.jar文件中,因此请确保在项目中包含此库。

另外,您需要定义onSharedPreferenceChanged方法以捕获对共享首选项的更改:

@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
   if (key.equalsIgnoreCase("your_key")) {
      // display your dialog here
   }
}