2011-06-29 209 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