在Activity方法期间多次更新UI



在我的主要活动中,我有一个方法链接到一个按钮,当按钮被按下时,它应该被禁用,然后发出HTTP请求,在方法完成后,按钮应该再次启用。

public void onClick(View view) {        
    Button button = (Button) findViewById(R.id.my_button);
    button.setEnabled(false);
        button.setTextColor(Color.GRAY);
    try {
        // make HTTP request
    } catch (IOException e) {
        // error
    } finally {
        button.setEnabled(true);
        button.setTextColor(Color.GRAY);
    }
}

所以通常按钮应该在我点击它后改变颜色,然后我等待请求发生,这会超时,因此我等待3秒,然后按钮的颜色应该变回来。

不幸的是,color/按钮不会更新一次,直到方法完成。原因是什么?如何正确地做到这一点?

使用AsyncTask进行HTTP调用(将其放置在方法:doInBackground()中),并将重新启用按钮的代码再次放置在方法onPostExecute()上。

相关内容

  • 没有找到相关文章

最新更新