簡體   English   中英

Android首選項如何使用switch語句

[英]Android preferences how to work with switch statement

我在偏好設置屏幕中有一些偏好:

<PreferenceCategory
    android:key="category"
    android:summary="Category"
    android:title="Category">

    <Preference
        android:key="pref1"
        android:summary="desc"
        android:title="Pref 1" />

    <Preference
        android:key="pref2"
        android:summary="desc"
        android:title="Pref 2" />

</PreferenceCategory>

PreferenceActivity查找它們:

Preference pref1, pref2;

@Override
    protected void onCreate(final Bundle savedInstanceState) {
      pref1 = findPreference("pref1");
      pref2 = findPreference("pref2");
}

並為它們設置一些OnPreferenceClickListener 如何正確定義單擊了哪個首選項? 我想用case-switch樣式做,但我不知道應該使用哪種類型:

Preference.OnPreferenceClickListener listener = new Preference.OnPreferenceClickListener() {
    @Override
    public boolean onPreferenceClick(Preference preference) {
        switch (???){       //I guess, here goes the "preference"?
            case ???:       //getting error with pref1 or pref2

        }
        return false;
    }
}

如果我在switch()放置onPreferenceClick preference ,我將得到case錯誤。

你可以得到相應的偏好

@Override
public boolean onPreferenceClick (Preference preference)
{
    String key = preference.getKey();
    // do what ever you want with this key
}

ref: 首選項上的首選項活動單擊“偵聽器”

希望這可以幫助 :)

您可以使用“首選項”的字段key

public boolean onPreferenceClick(Preference preference) {
    if (preference.getKey().equals("pref1")) {
        ... do something ...
    } else if (preference.getKey().equals("pref2")) {
        ... do something ...
    }
    return true;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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