0

我正在嘗試創建一個PreferenceActicity。 我需要的是我的偏好將是MultiSelectedListPreference類型。使用ArrayList創建MultiSelectedListPreference

我發現在互聯網上驗證碼:

<MultiSelectListPreference 
    android:dialogTitle="@string/mode_repeat" 
    android:key="mode_repeat" 
    android:summary=""   
    android:title="@string/mode_repeat" 
    android:entries="@array/weekdays" 
    android:entryValues="@array/weekdays_values" 
    android:defaultValue="@array/empty_array" 
    /> 

的問題是我收到在運行時輸入並entryValues。 我在創建ArrayList而我的應用程序正在運行,問題是我如何設置我的ArrayList作爲條目和entryValues

我是否需要創建一個空的xml文件,我將在構建列表的過程中重寫這些文件?

回答

0

您將無法在運行時更改xml。解決您的問題的方法是使用MultiSelectListPreference類中的方法setEntries()setEntryValues()

這是一個基本的代碼片段:

MultiSelectListPreference repeatModePreference = (MultiSelectListPreference) findPreference(Constants. mode_repeat); 
repeatModePreference.setEntries(yourEntries); // This is human-readable strings 
repeatModePreference.setEntryValues(yourEntryvalues) // The value corresponding to the human-readable string 

希望這有助於。

+0

謝謝!它的工作,只需要從ArrayList 投到CharSequence [],但很容易,再次感謝! –