fac*_*toe 9 android view fragment android-viewpager android-activity
我有一个简单的Activity包含ViewPager.我试图从我Fragment的一个菜单中添加一些菜单项,但是我得到了一些奇怪的行为.调用:setHasOptionsMenu(true);从我的片段开始,onCreateOptionsMenu()每当我更改片段时调用封闭的Activity的方法ViewPager.这是正常的吗?
Bry*_*lap 16
这绝对是"正常的".它可能不适合您的特定用例,但它绝对是预期的行为.
看一下android.support.v4.app.Fragment.setHasOptionsMenu()的源代码:
public void setHasOptionsMenu(boolean hasMenu) {
if (mHasMenu != hasMenu) {
mHasMenu = hasMenu;
if (isAdded() && !isHidden()) {
mActivity.supportInvalidateOptionsMenu();
}
}
}
Run Code Online (Sandbox Code Playgroud)
你可以看到它调用supportInvalidateOptionsMenu()它的活动,最终导致onCreateOptionsMenu()被调用活动及其所有片段.当从活动的片段管理器添加/删除片段时,框架如何管理更新选项菜单.
| 归档时间: |
|
| 查看次数: |
17824 次 |
| 最近记录: |