Bob*_*obs 10 android right-to-left android-edittext
我收到了客户关于我在联想设备中的Android应用程序的错误报告.
我注意到当我将app的RTL语言环境设置为类似波斯语的语言或将Android OS的语言更改为波斯语时,s或s 的setTex()方法在原始字符串的开头和结尾插入两个额外的字符.EditTextTextview
例如:
String myString1 = "original string";
int length1 = myString1.length(); // length1 is 15
myEditText.setText(myString1);
String myString2 = myEditText.getText().toString();
int length2 = myString2.length(); // length2 is 17
Run Code Online (Sandbox Code Playgroud)
仅在Lenovo设备上会出现此问题.该setText()方法在RTL模式下在字符串LEFT-TO-RIGHT OVERRIDE (U+202D)的开头和POP DIRECTIONAL FORMATTING (U+202C)结尾添加.这会导致我的应用程序出现大问题.我有很多setText()方法.解决这个问题有什么简短的解决方案吗?
设备信息: Lenovo Tablet TB-8504X, Android 7.1.1
更新:
问题是Android OS什么?我可以找到该设备的任何修复程序吗?
小智 3
.length()和 。getText().length()它们是相同的
但 .getText().toString().length()在某些情况下有所不同。
首先,它不是String,只不过是CharSequence。因此,它基于格式,可能会影响计算的大小。
| 归档时间: |
|
| 查看次数: |
266 次 |
| 最近记录: |