2014-01-19 111 views
1

我有以下的算法能夠串聯阿拉伯文字和英文文本Concatinating阿拉伯文和英文文本的android TextView的

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我得到了以下結果:

enter image description here

在默認語言環境的情況下==恩,我得到了以下結果:

enter image description here

回答

3

如果我的理解是正確的,你的問題是,每當Locale不是阿拉伯語,append方法將文本添加到右邊而不是左邊,這是寫阿拉伯語文本的方式(從右到左)。

如果是這樣的問題,你必須檢查的Locale,如果它不是阿拉伯語,你需要這個屬性設置爲TextView或者你使用什麼:

android:textDirection="anyRtl" 

有關更多信息,請參閱this

+0

我在控制檯上得到這個消息:找不到包含'android'屬性'textDirection'的資源標識符 –

+0

檢查此鏈接:http://stackoverflow.com/questions/10634414/android-how-can-i-use -the-androidlayoutdirection –

+0

是的,當然,我忘了問你在哪裏使用API​​,對不起。它現在工作嗎? – nKn

相關問題