我有以下算法可以连接阿拉伯文本和英文文本
private String getFormatedArabicEnglishMessage (String [] parts) {
String retString = "";
for (int i = 0; i < parts.length; i++) {
if (MyServices2Utils.isProbablyArabic(parts[i]) == true) {
retString += "\u202B" + new String(" ") + "\u202C";
retString += "\u202B" + new String(parts[i].getBytes()) + "\u202C";
retString += "\u202B" + new String(" ") + "\u202C";
} else {
retString += " ";
retString += parts[i];
retString += " ";
}
}
return retString;
}
但在所有情况下都不起作用:
如果是默认语言环境== ar我得到了以下结果:
如果是默认语言环境== en我得到了以下结果:
答案 0 :(得分:3)
如果我理解正确,你的问题是,只要Locale
不是阿拉伯语,附加方法就会向右边而不是左边添加文字,这就是写阿拉伯语文本的方式(从右到右)左)。
如果这是问题,您必须检查Locale
,如果不是阿拉伯语,则需要将此属性设置为TextView
或您正在使用的任何内容:
android:textDirection="anyRtl"
有关详细信息,请参阅this。