第一个焦点上的EditText明文 - Android

时间:2012-10-23 01:51:51

标签: java android android-edittext

我的文本里面有很少的EditText对象。我希望在第一次EditText获得焦点时删除其中的文本,但仅限于第一次。

我该怎么做?

这是一个例子: 我有一个名为SomeThing的EditText,其中包含文本“someText”。 当用户第一次触摸SomeThing时,我希望删除“someText”。 所以假设文本被删除了,现在用户输入了他自己的文本,这次是“someOtherText”,而EditText则失去了其他一些EditText的焦点。这次当用户点击SomeThing时,“someOtherText”将不会被删除,因为这是第二次获得焦点。

2 个答案:

答案 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;
    }
});