AsyncTask - onPostExecute UI混淆

时间:2016-01-24 19:29:52

标签: java android asynchronous android-asynctask

我试图通过搜索来弄清楚自己出了什么问题,但我想错过了别的东西。

我有一个带有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);
        }
    }
}

我认为我隐藏的代码当然不会对用户界面做任何事情,但如果一切正常,我可以展示隐藏的部分。

1 个答案:

答案 0 :(得分:0)

我刚用ImageView更改了Button,就是这样!我不知道为什么它不适用于Button,但使用ImageView和更改resor的URI