如何仅在特定时间内显示setError()?
if(editText.getText().length()==0)
editText.setError("please input text");
几秒后我可以让它消失吗?
答案 0 :(得分:1)
考虑使用toast notification。
答案 1 :(得分:-2)
试试这个:
在OnCreate方法中使用Handler将引用从Non ui线程保留回UI线程,因为一旦我们创建了一个Thread,我们就会删除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();
}