Android Studio:偏好设置android:summary =“%s”,但具有特定的默认摘要

问题描述

以下问题:我有一个骰子应用程序,应提供一个,两个或三个骰子来使用。我当前正在创建一个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);