程序员 - android menu动态更新问题
迷茫
迷茫 2017-04-17 12:00:53
[Android讨论组]
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    Toast.makeText(getApplicationContext(), "menu action", Toast.LENGTH_SHORT).show();

int mode = getIntent().getIntExtra("request", EDIT);
switch(mode){
case ADD:
    getMenuInflater().inflate(R.menu.add, menu);
    break;
case EDIT:
    getMenuInflater().inflate(R.menu.edit, menu);
    break;
}

if(ChangeModeState == true){
    menu.clear();
    getMenuInflater().inflate(R.menu.add, menu);
}
else{

}

return super.onPrepareOptionsMenu(menu);

}

使用了Activity的onPrepareOptionsMenu方法,想要实现在不同的上下文环境下修改action bar上的菜单项。文档中说该方法在每一次menu要被显示之前都要被调用;在很多论坛里讲这个方法每一次使用menu按键都会被调用。

实际使用发现点击action bar中的menu item并不会回调onPrepareOptionsMenu方法,无法实现更新。请问大家如何才能实现动态更新action bar中的menu项?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
迷茫

在你需要更新menu的时候调用#invalidateOptionsMenu()

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号