ListPreference.setSummary将占用"10%",但在"10%"时崩溃

Gda*_*lya 2 android listpreference

我正在首选屏幕上编写一个带有ListPreference的Android应用程序,允许用户从10%,20%,30%...... 100%中选择一个值.

OnPreferenceChangeListener.onPreferenceChange()当我尝试将ListPreference的摘要更改为所选值(ListPreference.setsummary(<string>))时,用户更改值(in )后,我发现应用程序在<string>以"%"结尾时崩溃,但在以"百分比"结束时则不会崩溃.

有没有人见过这个?你知道为什么会这样吗?是否有允许我使用"%"的解决方法?

Sas*_*h0k 13

在Android 4.0.4上遇到了同样的问题.似乎是它的android bug.

我的解决方案是使用Unicode符号全宽百分号(U + FF05)而不是百分号.ListPreference的示例数据:

<string-array name="widget_transparency_title">
    <item>0\uff05 - ?? ??????????</item>
    <item>25\uff05 ????????????</item>
    <item>50\uff05 ????????????</item>
    <item>75\uff05 ????????????</item>
    <item>100\uff05 - ??????????</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)