1

setError()を特定の時間だけ表示するにはどうすればよいですか?

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

数秒後に消えさせることはできますか?

4

2 に答える 2

1

トースト通知の使用を検討してください。

于 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 に答える