问题描述
以下问题:我有一个骰子应用程序,应提供一个,两个或三个骰子来使用。我当前正在创建一个DropDownPreference来更改骰子数的值。我一直希望当前的骰子数量在android:summary属性中使用“%s”显示在摘要中。问题是,默认的摘要条目似乎始终是“ preference_dice”数组的第一个值。 有没有办法显示某个默认的摘要条目,然后显示当前选定的骰子数量?我需要默认从两个骰子开始。 谢谢!
DropDownPreference:
<DropDownPreference
app:key="@string/preference_dice"
android:title="@string/preference_dice_title"
android:defaultValue="@string/preference_dice_2_value"
android:entries="@array/preference_dice"
android:entryValues="@array/preference_dice_values"
android:summary="%s"
/>
条目数组:
<string-array name="preference_dice">
<item>@string/preference_dice_1</item>
<item>@string/preference_dice_2</item>
<item>@string/preference_dice_3</item>
</string-array>
解决方法
您需要通过代码来完成。请尝试以下方式:
DropDownPreference preference = (DropDownPreference) findPreference ("preference_dice");
preference.setDefaultValue(preference_dice_1);