在我的應用程序,當用戶寫錯別字,我的EditText變成紅色,然後就變成write.Actually我試圖做一個紅色blink.This是我工作的代碼android Asynctask thread.sleep?
class BlinkTask extends AsyncTask<EditText, Boolean, Boolean>
{
@Override
protected Boolean doInBackground(EditText... params) {
EditText et1=params[0];
try {
et1.setBackgroundColor(Color.RED);
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
try {
et1.setBackgroundColor(Color.WHITE);
}
catch (Exception e)
{
e.printStackTrace();
}
return true;
}
}
但是當我拿et1.setBackgroundColor(白顏色);出的try-catch的block.It沒有給出錯誤可惜MYAPP具有stopped.I檢查loggat卻看見nothing.this是假的代碼 類BlinkTask擴展的AsyncTask {
@Override
protected Boolean doInBackground(EditText... params) {
EditText et1=params[0];
try {
et1.setBackgroundColor(Color.RED);
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
et1.setBackgroundColor(Color.WHITE);
return true;
}
}
我不知道爲什麼它需要嘗試抓住,雖然它沒有任何錯誤。
也是我想問創建此任務的AsyncTask類是一個很好的解決方案,否則nwhat可以done.thank你
okey但爲什麼不是我的第二個代碼工作 –
您無法觸摸後臺線程的UI線程。你應該在'onPostExecute()'中做到這一點。 – questioner