0

AsyncTaskを拡張するクラスからActionBarのボタンを無効にしたいのですが。現在、コンストラクターを使用してアクションバーメニューをタスクに渡していますが、null参照例外が発生しています:

主な活動:

@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を使用してメニューが設定されたことをどのように知る必要がありますか?

4

1 に答える 1

0

表示されていないのは、AsyncTask サブクラスまたはコンストラクターの定義、または AsyncTask を作成する場所です。onCreateOptionsMenu は、オプション メニューが表示されているときに、オプション メニューが呼び出された場合にのみ呼び出されます。そうでない場合、actionbarMenu は null になります。

于 2012-11-27T17:06:09.800 に答える