2012-01-17 23 views
4

我正在製作一個程序,它接受EditText中的阿拉伯字母,並且這些字母不能鏈接在一起。據我所知,阿拉伯文字母連在一起。如何編寫分隔的阿拉伯字母?

例如:阿拉伯語字母像(كلب) 應該是這樣的(كلب)的,當然不信

之間的空間所以,我該怎麼做才能解決這個問題,或者是否有任何編碼必須與在XML文件中?

+1

薩米,你想不要把它們連在一起?我真的不明白你的問題。 – MahdeTo 2012-01-17 09:27:50

+0

我希望他們彼此分開。 – 2012-01-17 09:35:59

+0

請在下面看到我的回覆。 – Jrom 2012-01-17 09:45:42

回答

1

您可以嘗試手動做這樣的事情用一個for循環每個字母之間添加空格:

myEditText = (EditText)findViewById(R.id.edittext); 
String temp = myEditText.getText().toString(); 

for(int i = 0; i < temp.length(); i++){ 
    temp = temp.charAt(i) + " "; 
} 

myEditText.setText(temp); 
+0

謝謝你的回答,但我不想在字母之間使用空格。請更多的建議。 – 2012-01-17 09:48:24

+1

而不是使用空格,您可以使用「零寬度非喬伊納」字符:https://en.wikipedia.org/wiki/Zero-width_non-joiner – porges 2013-07-29 11:16:50

0

瞭解這一http://www.unicodemap.org/range/85/Arabic_Presentation_Forms-B/的Unicode地圖,當用戶輸入任何新的特色,並更換處理它從地圖

+0

如何將此阿拉伯Unicode字符轉換爲字符串字符? – 2012-01-17 10:46:09

+0

您需要建立當前字母的地圖,如字母'Ã= 50'(樣本),然後查找Unicode地圖,將字符轉換爲'0xFE83',最好的方法是獲取所有字符串一次,然後轉換它來char []然後用char替換char – 2012-01-18 09:53:04

1

由於Porges相當於說,使用兩個相連的字母之間「\ u200C」他們沒有分開「」