是否有可能使EditText
在用户输入结束时显示不可编辑的字符串?EditText末尾的字符串
例如,我可以有一个EditText,我要求用户的磅重。我知道单位必须是磅,所以如果用户输入“150”,那么EditText显示“150磅”,其中“lb”是在用户输入结束时附加的不可编辑的字符串。
我试图扩展EditText
类,但TextView
setText()
方法是最终的,所以它不能被覆盖,这使得事情变得困难。
是否有可能使EditText
在用户输入结束时显示不可编辑的字符串?EditText末尾的字符串
例如,我可以有一个EditText,我要求用户的磅重。我知道单位必须是磅,所以如果用户输入“150”,那么EditText显示“150磅”,其中“lb”是在用户输入结束时附加的不可编辑的字符串。
我试图扩展EditText
类,但TextView
setText()
方法是最终的,所以它不能被覆盖,这使得事情变得困难。
我觉得用户尝试输入数据之前,使用提示
<EditText android:hint="@string/hint" />
一旦用户完全进入文本,按下完成按钮或集中在UI的下一个组件上,可以追加磅在EditText上。
Use onFocusChange() listener
好吧,我试过了,它工作得很好。然而,我注意到有几种不同的类型,我可能会使用这个解决方案的EditText听众:) 'setOnClickListener(' 'setOnEditorActionListener()' 'setOnFocusChangeListener()' 'setOnKeyListener()' ' setOnTouchListener()' 哪一个最适合这种情况?我知道EditText总是在活动开始时变得焦点,这可能会干扰onFocusChangeListener。 – Scott
例如,如果您有两个编辑文本框,一个用于用户名,另一个用于密码,并且您希望为用户名字段附加一些文本。一旦用户键入他的用户名,并将注意力集中在密码editext框上,请收听并在用户名edittext上附加文本。 – dcanh121
您可以使用onKey *侦听器来设置用户的文本。所以不管他们输入什么,你都会用修改后的文字覆盖它。 – Spidy