[英]Android - Preference OnPreferenceClick is never called
我真的需要一些幫助! Logcat不會發出任何錯誤,也不會發出代碼錯誤,並且仍然沒有任何反應。 我有2個正常的偏好設置“ ueber”,只要單擊它就可以使用,而“ update”則永不調用。 我知道,因為我將“ ueber”的確切代碼復制到了“ update”,但仍然沒有發生任何事情……我已經在此問題上坐了2個弱點,你們是我的最后希望!
preferencesettings2.xml
<PreferenceScreen>
<PreferenceCategory android:title="Info">
<Preference
android:key="update"
android:title="Update"
android:summary="Check for updates"/>
<Preference
android:key="about"
android:title="About"
android:summary="Shows information"/>
</PreferenceCategory>
</PreferenceScreen>
Preferencesettings2.java
public class Preferencesettings2 extends PreferenceActivity implements OnPreferenceClickListener {
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferencesettings2);
@Override
public boolean onPreferenceClick(Preference preference) {
if(preference.getKey().equals("update")){
download();
}else if(preference.getKey().equals("about")){
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(Preferencesettings2.this);
alertDialogBuilder.setTitle("about");
alertDialogBuilder.setMessage("About");
alertDialogBuilder.setCancelable(true);
alertDialogBuilder.setNeutralButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,int which) {
dialog.cancel();
}
});
alertDialogBuilder.show();
}
return true;
}
嘗試使用findPreference
找到首選項並調用setOnPreferenceClickListener
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferencesettings2);
findPreference("about").setOnPreferenceClickListener(this);
findPreference("update").setOnPreferenceClickListener(this);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.