2014-01-19 5 views
1

나는 아랍어 텍스트와 영어 텍스트를 연결할 수 있도록 다음과 같은 알고리즘을Concatinating 아랍어 및 영어 텍스트 안드로이드 텍스트 뷰

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; 
} 

하지만 모든 경우에 작동하지 않습니다되어 기본 로케일의 경우

== 아칸소 나는 다음과 같은 결과를 얻었다 : 기본 로케일의 경우

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-use -the-androidlayoutdirection –

+0

예, 물론, 사용중인 API를 묻는 것을 잊었습니다. 미안합니다. 지금 작동합니까? – nKn