我的文本里面有很少的EditText对象。我希望在第一次EditText获得焦点时删除其中的文本,但仅限于第一次。
我该怎么做?
这是一个例子: 我有一个名为SomeThing的EditText,其中包含文本“someText”。 当用户第一次触摸SomeThing时,我希望删除“someText”。 所以假设文本被删除了,现在用户输入了他自己的文本,这次是“someOtherText”,而EditText则失去了其他一些EditText的焦点。这次当用户点击SomeThing时,“someOtherText”将不会被删除,因为这是第二次获得焦点。
答案 0 :(得分:10)
马坦,我不确定这是不是你在看,但我想你想为你的编辑文本显示'hint'
示例
<EditText
.
.
android:hint="Please enter your name here">
有关示例,请查看此http://www.giantflyingsaucer.com/blog/wp-content/uploads/2010/08/android-edittext-example-3a.jpg
答案 1 :(得分:2)
如果您正在寻找为EditText
添加占位符的方法,只需将android:hint = 'some text'
添加到相应的XML文件中,或调用setHint('some text')
上的EditText
方法即可。
否则,您可以使用OnFocusChangeListener()
来响应获取焦点的事件。要检查EditText
是否第一次获得焦点,请使用其他Boolean
变量(例如isFirstTimeGetFocused
)并将其初始化为true
onCreate()
} 方法。 EditText
获得焦点后,将isFirstTimeGetFocused
设置为false
;
editText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus && isFirstTimeGetFocused){
editText.setText("");
isFirstTimeGetFocused = false;
}
});