符号“%”在 android:summary 标记中使用时会导致崩溃
Symbol '%' causes crash when used in android:summary tag
我在 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"/>
它导致崩溃并出现错误:"java.util.IllegalFormatConversionException: %f can't format java.lang.String arguments"
当我从 android:summary 标签中删除 '%' 符号时,它工作正常。
将“%”符号替换为等效的 unicode 符号无济于事。
在文档中找不到解释,所以在这里问这个问题
在 Java 中,% 符号通常在格式说明符之前,这可能是导致错误的原因。用另一个 % 转义 % 符号应该可以解决问题:
android:summary="Select 18%% for DSLR (default), 12.5%% for Sekonics"
我在 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"/>
它导致崩溃并出现错误:"java.util.IllegalFormatConversionException: %f can't format java.lang.String arguments"
当我从 android:summary 标签中删除 '%' 符号时,它工作正常。 将“%”符号替换为等效的 unicode 符号无济于事。 在文档中找不到解释,所以在这里问这个问题
在 Java 中,% 符号通常在格式说明符之前,这可能是导致错误的原因。用另一个 % 转义 % 符号应该可以解决问题:
android:summary="Select 18%% for DSLR (default), 12.5%% for Sekonics"