簡體   English   中英

Android-永遠不會調用Preference OnPreferenceClick

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM