作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在实现首选项时遇到问题。当我运行我的应用程序并单击首选项选项卡时,没有任何反应。我不知道代码有什么问题,因为 logcat 不显示任何内容。提前致谢。
public class Reset extends PreferenceActivity{
private Preference myPreference;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
myPreference = findPreference("reset");
myPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference arg0) {
Builder alertDialog = new AlertDialog.Builder(Reset.this);
alertDialog.setMessage("Reset?");
alertDialog.setCancelable(true);
alertDialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
SharedPreferences.Editor editor = settings.edit();
editor.clear();
editor.commit();
} });
alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
} });
alertDialog.show();
return false;
}
});
}
}
XML:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<Preference android:title="Reset Score" android:key="reset">
</Preference>
</PreferenceScreen>
最佳答案
将此行添加到您的代码中:
addPreferencesFromResource(R.xml.preferences);
此代码有效:
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
public class Reset extends PreferenceActivity{
private Preference myPreference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
myPreference = findPreference("reset");
myPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference arg0) {
Builder alertDialog = new AlertDialog.Builder(Reset.this);
alertDialog.setMessage("Reset?");
alertDialog.setCancelable(true);
alertDialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
SharedPreferences.Editor editor = settings.edit();
editor.clear();
editor.commit();
} });
alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
} });
alertDialog.show();
return false;
}
});
}
}
并记得添加您的 Activity :重置为 list :
关于android - onPreferenceClick 不适用于 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13360865/
我是一名优秀的程序员,十分优秀!