使用以下资源:
ltr: <string name="err_field_range_hint_f">Possible values: [%1$.0f .. %2$.0f]</string>
rtl: <string name="err_field_range_hint_f">ערכים אפשריים:
[%2$.0f .. %1$.0f]</string>
在以下代码中:
_AlertDialog = new AlertDialog.Builder(this).
setTitle(getString(R.string.title))
.setMessage(getString(R.string.err_field_range_hint_f, valLow, valHigh) )
.setPositiveButton(getString(R.string.ok), null)
.show();
我收到[25- .. 100]
而不是[-25 .. 100]
我使用以下命令在EditText字段中强制LTR解决了布局中类似的问题:
android:inputType="numberSigned|numberDecimal"
android:textDirection="ltr"
但是如何在AlertDialog.Message内的特定“单词”(或数字)上强制LTR?
注意:我在here中看到了一个解决方案,但我更喜欢android会处理格式化数字...
我不确定你想收到
并不是
无论如何,最简单的解决方法是插入Unicode BIDI覆盖标记,例如LRO:
<string name="err_field_range_hint_f">ערכים אפשריים:
\u202D[%2$.0f .. %1$.0f]\u202C;</string>
您可以在警告对话框中找到“消息”文本视图,然后应用您在编辑文本中使用的相同方法来更正LTR问题。
考虑这个SO答案来找到内部文本视图: