我在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等效的符号并没有帮助。 无法在文档中找到解释,请在此处提出此问题
答案 0 :(得分:1)
在Java中,%符号通常位于格式说明符之前,这可能是导致错误的原因。使用另一个%转义%符号应该可以解决问题:
android:summary="Select 18%% for DSLR (default), 12.5%% for Sekonics"