2011-06-29 250 views
2

是否有可能使EditText在用戶輸入結束時顯示不可編輯的字符串?EditText末尾的字符串

例如,我可以有一個EditText,我要求用戶的磅重。我知道單位必須是磅,所以如果用戶輸入「150」,那麼EditText顯示「150磅」,其中「lb」是在用戶輸入結束時附加的不可編輯的字符串。

我試圖擴展EditText類,但TextViewsetText()方法是最終的,所以它不能被覆蓋,這使得事情變得困難。

+1

您可以使用onKey *偵聽器來設置用戶的文本。所以不管他們輸入什麼,你都會用修改後的文字覆蓋它。 – Spidy

回答

0

我覺得用戶嘗試輸入數據之前,使用提示

<EditText android:hint="@string/hint" /> 

一旦用戶完全進入文本,按下完成按鈕或集中在UI的下一個組件上,可以追加磅在EditText上。

Use onFocusChange() listener 
+0

好吧,我試過了,它工作得很好。然而,我注意到有幾種不同的類型,我可能會使用這個解決方案的EditText聽衆:) 'setOnClickListener(' 'setOnEditorActionListener()' 'setOnFocusChangeListener()' 'setOnKeyListener()' ' setOnTouchListener()' 哪一個最適合這種情況?我知道EditText總是在活動開始時變得焦點,這可能會干擾onFocusChangeListener。 – Scott

+0

例如,如果您有兩個編輯文本框,一個用於用戶名,另一個用於密碼,並且您希望爲用戶名字段附加一些文本。一旦用戶鍵入他的用戶名,並將注意力集中在密碼editext框上,請收聽並在用戶名edittext上附加文本。 – dcanh121