환경 설정을 구현하는 데 문제가 있습니다. 내 앱을 실행하고 환경 설정 탭을 클릭해도 아무런 변화가 없습니다. logcat에 아무 것도 표시되지 않기 때문에 코드에 어떤 문제가 있는지 알 수 없습니다. 그리고 미리 감사드립니다.onPreferenceClick이 android에서 작동하지 않습니다.
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>
'myPreference'는 초기화되지 않았기 때문에 항상 null이고'NullPointerException'은 th입니다. 'onCreate()'메쏘드에서 찾는다. – jelies
내 코드는 편집했지만 동일한 문제가 발생했습니다. – Taha
문제는 동일합니다. @Taha, 'myPreference'는 null이고 여러분은 preferenceManager를 가져옵니다. 이것을 대신 사용하십시오 :'myPreference = findPreference ("reset");' – jelies