Android - 动态修改后如何重绘菜单按钮?

时间:2011-11-25 04:08:37

标签: android menu

我有一个带有几个按钮的简单弹出菜单。一个按钮开始禁用。我需要让它在1秒后启用。下面的代码似乎启用了按钮,但在我单击表单上的另一个按钮之前,它不会被重新绘制。

在onCreate()方法中:

    Timer timer = new Timer();
    timer.schedule(new UpdateTimeTask(), 1000, 200);

然后在UpdateTimeTask方法中:

    public void run() {
           ((Button) findViewById(R.id.myButton)).setEnabled(true);
       }

启用该按钮时,为什么不自动重绘?它似乎保持禁用状态,直到我点击另一个按钮,然后突然弹出,就像启用它一样。

在启用行不起作用之后,

“invalidate()”。

1 个答案:

答案 0 :(得分:0)

我最终使用的是Runnable而不是Timer。这篇文章是一个巨大的帮助: http://developer.android.com/resources/articles/timed-ui-updates.html

我没有必要使用invalidate或refreshDrawableState,因为它都是在同一个UI线程上完成的。