2016-01-24 85 views
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,但如果一切都很好,我可以顯示隱藏的部分。

+0

你確定它正在運行代碼onPostExecute – has19

+0

如果是這樣我認爲你需要刷新視圖 – has19

+1

在setbackground後寫入State.invalidate() – has19

回答

0

我只是用ImageView改變Button並且多數民衆贊成它!我不知道爲什麼它不與Button一起工作,但與ImageView和更改URI的resor