为什么我的onPrepareOptionsMenu没有被调用?

时间:2013-03-19 14:14:14

标签: java android

public class BFragmentTab extends Fragment {

    @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            // Inflate the layout for this fragment
            return inflater.inflate(R.layout.recents, container, false);
     }

    @Override
    public void onPrepareOptionsMenu(Menu menu) {
        menu.clear();
        MenuItem filter = menu.findItem(R.id.filter);
        MenuItem refresh = menu.findItem(R.id.refresh);
        //depending on you conditions, either enable/disable
        filter.setEnabled(false);
        refresh.setEnabled(false);
        super.onPrepareOptionsMenu(menu);
    }
}

我试图在我的Fragment类中调用我的onPrepareOptionsMenu,但它没有被调用。当我点击action tab内的action bar时,我想刷新我的菜单项。

2 个答案:

答案 0 :(得分:14)

setHasOptionsMenu(true)方法

中致电onAttach

答案 1 :(得分:0)

我得到了同样的错误,在我的情况下,我的xml布局文件中有一个子活动错误。

令人惊讶的是,Eclipse没有显示错误,但删除后,该程序运行良好。