1
我想通過搜索找出自己出了什麼問題,但是我錯過了其他的東西,我想。AsyncTask - onPostExecute UI混淆
我有一個doInBackground類,它爲我檢查某些東西,並返回TRUE或FALSE到onPostExecute。通過調試,我發現代碼正在工作,param通過函數發送並且逐行正在工作,但UI沒有更新他們必須的地方。
這裏是我的代碼部分:
class check extends AsyncTask<Void,Void,Boolean> {
@Override
protected Boolean doInBackground(Void... params) {
//some code here
if(tmp.equals(SSID)){
return true;
} else {
//little bit of code
return false;
}
}
@Override
protected void onPostExecute(Boolean is) {
super.onPostExecute(is);
if(is){
Button State = (Button) findViewById(R.id.State);
State.setBackgroundResource(R.drawable.shape_ringcnt);
} else {
Button State = (Button) findViewById(R.id.State);
State.setBackgroundResource(R.drawable.shape_ringnrdy);
}
}
}
我想我的代碼是牆根無爲有當然的UI,但如果一切都很好,我可以顯示隱藏的部分。
你確定它正在運行代碼onPostExecute – has19
如果是這樣我認爲你需要刷新視圖 – has19
在setbackground後寫入State.invalidate() – has19