setError()を特定の時間だけ表示するにはどうすればよいですか?
if(editText.getText().length()==0)
editText.setError("please input text");
数秒後に消えさせることはできますか?
setError()を特定の時間だけ表示するにはどうすればよいですか?
if(editText.getText().length()==0)
editText.setError("please input text");
数秒後に消えさせることはできますか?
トースト通知の使用を検討してください。
これを試して:
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();
}