1

如何仅在特定时间内显示 setError()?

if(editText.getText().length()==0)   
   editText.setError("please input text");  

我可以让它在几秒钟后消失吗?

4

2 回答 2

1

考虑使用toast 通知

于 2012-05-19T23:52:33.333 回答
-2

试试这个:

在 OnCreate 方法中使用 Handler 来保持从非 ui 线程返回到 UI 线程的引用,因为一旦我们创建了一个线程,我们就会丢弃 Ui 线程.. 很抱歉给您留下的不便上一篇文章。现在它将按您的意愿工作

   Handler h;

    onCreate(......) {

    h = new Handler();

    ....
    ....

    }


        if(editText.getText().length()==0) {  
           editText.setError("please input text"); 
           new Thread (new Runnable() {
              public void run(){
                 try{
                    Thread.sleep(1000);

                    h.post(new Runnable() {

                      editText.setText("");    // this will put the non-ui work on the ui thread back

                  }
                 }catch(Exception ex){}
              }    
           }.start();




  }  
于 2012-05-19T22:33:30.107 回答