安卓如何动态修改fragment中的 Menu

1、复写onPrepareOptionsMenu方法

@Override

public void onPrepareOptionsMenu(Menu menu) {

 menu.clear();//先清除已经建好的menu

MenuInflater inflater = getActivity().getMenuInflater();

//根据各种条件,重新设置menu

if (isDeleteIconOnActionBar){

inflater.inflate(R.menu.delete_action, menu);

}else if(isRefreshIconOnActionBar){

inflater.inflate(R.menu.delete_refresh_action, menu);

}else{

inflater.inflate(R.menu.main_activity_actions, menu);

}

super.onPrepareOptionsMenu(menu);

}

2、在需要修改menu的地方调用

getActivity().supportInvalidateOptionsMenu();

安卓如何动态修改fragment中的 Menu

时间: 2024-08-01 17:58:48

安卓如何动态修改fragment中的 Menu的相关文章

Java反射机制可以动态修改实例中final修饰的成员变量吗?

问题:Java反射机制可以动态修改实例中final修饰的成员变量吗? 回答是分两种情况的. 1. 当final修饰的成员变量在定义的时候就初始化了值,那么java反射机制就已经不能动态修改它的值了. 2. 当final修饰的成员变量在定义的时候并没有初始化值的话,那么就还能通过java反射机制来动态修改它的值. 实验: 1. 当final修饰的成员变量在定义的时候就初始化了值 1 public Class Person { 2 private final String name = "damon

如何在QML应用中动态修改ListModel中的数据并存储它为JSON格式

我们知道JSON数据格式被广泛使用在很多的应用中,它可以帮我们保存我们应用的设置数据等.在QML中的ListView或GridView中,我们使用ListModel来显示它里面的数据.这个数据可以来源于xml或JSON.在ListView或GridView中,我们也可以动态修改ListModel中的数据.那么我们将如何保存这个数据呢?本篇文章也同样适用于xml格式的保存.这个练习就留个开发者自己了.当然保存ListModel中的数据也可以使用到SQLite数据库.这个因人而已! 为了方便我们的设

如何在.cs中统一动态修改xaml中style资源定义的样式

关于设置控件属性样式的方法已经在之前的博客中有提及过,博客地址:设置控件样式的方法 当然在实际项目编写过程中,不光单纯的需要设置元素样式,有时候需要动态的修改元素的样式,这个时候就有些不 同了.需要针对不同的情形来选择不同的方法修改样式. 情形一:单纯的修改一个控件元素的样式,那么只要在.cs中仅仅针对这个控件的样式属性的修改即可. 情形二:如果是要针对同一类的所有控件的样式进行相同的属性修改,比如针对页面中所有的Label控件进行修改, 那么对应之前你在给这些Label控件设置样式的不同做法,

Android——修改Button样式,动态修改Button中的图片大小

原文地址: http://www.cnblogs.com/gzggyy/archive/2013/05/17/3083218.html http://www.xuebuyuan.com/2173740.html http://blog.csdn.net/u012246458/article/details/50387308 Android开发:shape和selector和layer-list的(详细说明)

动态修改母版页中的DIV标签中的LI的A的CLASS属性

这个知识点比较简单,只是关于转义方面,或什么时候用双引号,什么时候单引号老搞不清,特此备忘之用 <ul class="nav"> <!-- 实现点击当前页后,图片悬停在上面,如:点击首页,首页有图片效果,由于是母版页,每次点击都会刷新当前页面,因此用js无效 --> <!-- 此种方式必须有真实存在的地址才可调用 --> <li><a href="<%=Page.ResolveUrl("Index.aspx

net5:动态修改内存中的站点地图节点

原文发布时间为:2008-07-29 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebContro

Activity,Fragment中menu菜单注意事项

以前一般都是在Activity中添加menu菜单,一般是重写onCreateOptionsMenu和onOptionsItemSelected方法. 现在用fragment用的多了,就在fragment里面添加menu菜单,也是重写了onCreateOptionsMenu和onOptionsItemSelected方法. 但是需要注意的是: 在fragment中使用menu菜单,需要在onCreate()方法里面添加语句 setHasOptionsMenu(true);

Fragment中onOptionsItemSelected方法不起作用的解决方法

以前一般都是在Activity中添加menu菜单,一般是重写onCreateOptionsMenu和onOptionsItemSelected方法. 现在Fragment用的多了,就在Fragment里面添加menu菜单,也是重写了onCreateOptionsMenu和onOptionsItemSelected方法,但是发现没有效果.在源代码中可以发现,这跟一个叫mHasMenu的boolean变量有关系.这个变量控制Fragment的menu菜单的添加.如果mHasMenu为false,那么

关于Unity中如何代码动态修改天空盒

在Unity中动态修改天空盒有两种方法: 一.为每个Texture建立天空盒材质球,需要更换时直接将对应材质球作为天空盒,缺点是建立的材质球太多 private void ChangeSkybox(Material newSkybox) { RenderSettings.skybox = newSkybox; } 二.只创建一个天空盒材质球,通过修改Material的贴图Cubemap来动态替换,优点是不需要创建额外的材质球 但是使用一般的Material.mainTexture属性无法赋值Cu