0

我想要一個ListPreference,用戶可以在三種組織之間進行選擇(按主題,類型或來源),然後根據他/她的選擇,MultiSelectListPreference將會是顯示以允許他/她選擇用於先前選擇的標籤集合,以縮小他/她將在應用中看到的事件的範圍。如何在ListPreference中創建一個MultiSelectListPreference

ListPrefence(主辦...):

  • 主題
  • 類型
  • 產地

MultiSelectListPreference爲主題:

  • 藝術
  • 娛樂
  • ...

MultiSelectListPreference的類型:

  • 電影
  • 締約方
  • 展覽
  • ...

MultiSelectListPreference支持或igin:

  • Fb的
  • 谷歌
  • 博客
  • ...

任何想法我怎麼能這樣做呢?現在,在我的onSharedPreferencesChanged我有以下幾點:

else if (key.equals("possible_organizations_list")){ 
    System.out.println("key possible_organizations_list changed"); 
    String kindOfOrganization = sharedPreferences.getString(key, "By Type"); 
    if(kindOfOrganization.equals("By Type")){ 
      System.out.println("Selected By Type"); 
    }else if(kindOfOrganization.equals("By Topic")){ 
      System.out.println("Selected By Topic"); 
    }else if(kindOfOrganization.equals("By Origin")){ 
      System.out.println("Selected By Origin"); 
    } 
} 

,但我不知道我這怎麼能連接到我希望有MultiSelectListPreference。

編輯: 我認爲值得一提的是,我的實現並不一定需要一個ListPreference和一個MultiSelectListPreference,這正是我認爲最適合的東西,但任何其他建議也將受到歡迎。

回答

0

我發現了一種方式,但沒有按照我的意願行事,所以我實現了它的不同。不過,爲了防止某人感興趣,我發佈了我找到的解決方案。

我創建了另一個首選項的xml,活動和片段,並在ListPrefence更改時在主首選項中調用它們。這種方法的問題是,那麼只有當列表更改時纔可以訪問多列表。我相信它可能會以某種方式被「黑客攻擊」,但這仍然讓我覺得讓用戶通過第一個列表來訪問不同的多列表並不是一個好主意。最後,我只是將三個多重列表直接放在主要首選項中,並啓用/禁用主動/非主動後續this approach

相關問題