View 的ContextView

用showContextView 打开View的ContextView 

通过setOnCreateContextMenuListener() 来设置处理的方式

如果你指的是Fragment的OptionsMenu选项菜单,可以通过以下步骤更新Fragment的OptionsMenu: 1.在Fragment中重写onCreateOptionsMenu()方法创建OptionsMenu。 2.在Fragment中重写onPrepareOptionsMenu()方法准备OptionsMenu。 3.在Fragment的Java代码中,调用setHasOptionsMenu()方法告诉系统该Fragment需要有OptionsMenu。 4.在需要更新OptionsMenu的时候,调用Fragment的invalidateOptionsMenu()方法通知系统更新OptionsMenu。 例如,如果我们有一个Fragment需要根据不同的状态显示不同的OptionsMenu,我们可以在Fragment的Java代码中使用以下代码更新OptionsMenu: ``` public class ExampleFragment extends Fragment { private boolean isEditMode = false; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.example_menu, menu); super.onCreateOptionsMenu(menu, inflater); } @Override public void onPrepareOptionsMenu(Menu menu) { MenuItem editItem = menu.findItem(R.id.action_edit); MenuItem saveItem = menu.findItem(R.id.action_save); editItem.setVisible(!isEditMode); saveItem.setVisible(isEditMode); super.onPrepareOptionsMenu(menu); } public void setEditMode(boolean isEditMode) { this.isEditMode = isEditMode; invalidateOptionsMenu(); } } ``` 在这个例子中,我们在onCreateOptionsMenu()方法中创建OptionsMenu,在onPrepareOptionsMenu()方法中根据isEditMode属性设置OptionsMenu的可见性,在setEditMode()方法中更新isEditMode属性并调用invalidateOptionsMenu()方法通知系统更新OptionsMenu。需要注意的是,OptionsMenu的更新只有在Fragment可见的时候才会生效,如果需要在Fragment不可见的时候更新OptionsMenu,需要在Fragment可见的时候保存状态并在Fragment重新可见的时候恢复状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值