Android:如何在活动启动后的第一次触摸中设置edittext文本

时间:2014-05-14 03:04:49

标签: android android-edittext

我正在寻找一种方法将文本放在edittext ontouch事件上,但设置edittext文本必须在活动启动后第一次点击,之后如果再次触摸edittext,则settext将被禁用,

我使用此代码:

       edittext1.setOnTouchListener(new View.OnTouchListener(){
        public boolean onTouch(View view, MotionEvent motionEvent) {                                                       
             // your code here....
            edittext1.setText("Is this have two or tree ?");
             return false;
        }
    });

和是settext总是设置"这有两个还是树?" ,即使我更改了edittext的文本,如果我再次触摸edittext,它将返回"这有两个还是树?"。

1 个答案:

答案 0 :(得分:1)

如果你想在发布时这样做:

edittext1.setText("my text");

如果您只想在第一次触摸时执行此操作,则必须使用变量来保持该状态:

boolean wasSet = false;

onTouch(){
    if(!wasSet){
        //First time around
        edittext1.setText("my text");
        wasSet = true;
    }else{
        //Second time around
    }
}

Altough,看起来你更愿意这样做:

edittext1.setHint("mytext");

只要EditText没有用户内容,就会显示一个条目提示。