首页 > 代码库 > 添加菜单到fragment

添加菜单到fragment

1、在fragment的代码中

    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        //使fragment有菜单
        setHasOptionsMenu(true);
    }
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { // TODO Auto-generated method stub super.onCreateOptionsMenu(menu, inflater); inflater.inflate(R.menu.exp, menu); }

 

 动态更新菜单项

通过重写Activity的onPrepareOptionsMenu方法,可以在每一次显示菜单之前根据应用程序的当前状态对菜单进行修改。这可以动态地启用/禁用每个菜单项,设置每个菜单项的可见性,以及修改文本。

注意,每当菜单按钮被单击、显示溢出菜单、或者创建操作栏的时候,就会触发onPrepareOptionsMenu方法。

要动态地修改菜单项,既可以在onCreateOptionsMenu方法中记录创建它们时产生的引用,也可以使用Menu对象的findItem方法,如程序清单10-17所示,其中重写了onPrepareOptionsMenu。

@Override  

public boolean onPrepareOptionsMenu(Menu menu) {  

 super.onPrepareOptionsMenu(menu);  

 MenuItem menumenuItem = menu.findItem(MENU_ITEM);  

 [ ... 修改菜单项 ... ]  

 return true;  

} 

 

 

Done