从AsyncTask访问操作栏

时间:2012-11-27 16:52:44

标签: android android-asynctask

我想从扩展AsyncTask的类中禁用ActionBar中的按钮。我目前正在使用构造函数将操作栏菜单传递给我的任务,但我得到一个空引用异常:

主要活动:

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.mainmenu, menu);
    actionbarMenu = menu;

    return true;
}

AsyncTask类:

protected void onPreExecute(){

    actionbarMenu.findItem(R.id.refresh).setEnabled(false);

}

我如何知道何时使用AsyncTask设置菜单?

1 个答案:

答案 0 :(得分:0)

您未显示的是AsyncTask子类或构造函数的定义,或者您创建AsyncTask的位置。只有在显示选项菜单时调用选项菜单时,才会调用onCreateOptionsMenu。如果还没有,则actionbarMenu将为null。