2012-12-27 55 views
1

我使用Hint它在仿真器中工作,但是當我在手機中安裝代碼時,提示不起作用。提示沒有在android的編輯文本中工作

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="نام" 
    android:gravity="right" 
    android:id="@+id/fname" 
    android:singleLine="true" 
    android:imeActionLabel="Next"> 
</EditText> 
<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="نام خانوادگی" 
    android:gravity="right" 
    android:id="@+id/lname" 
    android:singleLine="true" 
    android:imeActionLabel="Next"> 
</EditText> 

任何想法?

+0

您確定您的設備上有可用的字體嗎? – Pratik

+0

不,我不確定!但我沒有在我的代碼中設置任何字體! – sahar

回答

3

複製在strings.xml中的String(意味着你的相關語言),然後給出提示,

android:hint="@string/strname" 

<resources> 

    <string name="strname">نام خانوادگی</string> 

</resources> 

以上將是工作,如果設備將支持你的語言。從edittexts

android:singleLine="true"刪除這點,你可以看到提示

+0

當我使用英文字符而不是波斯語時,它也不起作用。 – sahar

+2

我認爲'android:gravity =「right」'有問題。當我將其更改爲「left」提示時,它將顯示在模擬器中。檢查一次 –

+0

@sahar,檢查編輯的答案 –

0

提示波斯或其他的Unicode語言 當你定義的inputType爲編輯框不
表演。你應該刪除

android:inputType="..." 
1

這個問題實際上是一個臭名昭着的bug在android EditText。當使用singleLine="true"maxLines="1"或通常任何觸發android:scrollHorizontally="true"在佈局階段EditText無法呈現RTL提示正確..

如果你的語言佈局方向爲RTL,你可以簡單地通過setting gravity="right|center_vertical"解決這個問題,您EditText

P.S:此問題已在問題跟蹤器很長一段時間,但沒有任何修復,因爲。您可以通過演示此問題來幫助解決此問題,從而更快地解決問題: https://issuetracker.google.com/issues/36924615