符号'%'在android:summary标签中使用时导致崩溃

时间:2015-03-20 19:09:19

标签: android list format preference

我在preference.xml文件中声明了首选项列表:

<ListPreference
        android:key="pref_reflected_calibration"
        android:title="Calibration constant"
        android:summary="Select 18% for DSLR (default), 12.5% for Sekonics"
        android:entries="@array/reflected_calibration_entries"
        android:entryValues="@array/reflected_calibration_values"
        android:defaultValue="18"/>

它导致崩溃并出现错误:&#34; java.util.IllegalFormatConversionException:%f无法格式化java.lang.String参数&#34;

当我删除&#39;%&#39; android中的符号:摘要标记,它可以正常工作。 替换&#39;%&#39;带有unicode等效的符号并没有帮助。 无法在文档中找到解释,请在此处提出此问题

1 个答案:

答案 0 :(得分:1)

在Java中,%符号通常位于格式说明符之前,这可能是导致错误的原因。使用另一个%转义%符号应该可以解决问题:

android:summary="Select 18%% for DSLR (default), 12.5%% for Sekonics"