DialogFragment中的选项菜单

哈纳·穆罕默德(Hanaa Mohamed)

我有两个片段,一个是列表片段,另一个是我使用它一次作为对话框,并且作为片段菜单选项存在我的问题,在列表片段中有一个显示总是动作的项目菜单,而在对话框片段中我不想要这个项目是可见的,我也不希望选项菜单也可见,我已经尝试过

setHasOptionMenu(false)

但它不起作用,并试图setHasOptionMenu(true)清除菜单中的所有项目,但均不起作用。

另外,我的父母活动没有选项菜单的任何代码。这是我的代码:

@SuppressLint("InflateParams")
public class FormGeneratorActivity extends DialogFragment {
Control mControl;
boolean doChangeTitle;
private boolean isDialog;
public static int CreatedNum = 0;


public static FormGeneratorActivity getInstance(Control mControl, boolean doChangeTitle) {
    FormGeneratorActivity frag = new FormGeneratorActivity();
    Bundle b = new Bundle();
    b.putParcelable("control", mControl);
    b.putBoolean("changeTitle", doChangeTitle);
    frag.setArguments(b);
    return frag;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getArguments() != null) {
        doChangeTitle = getArguments().getBoolean("changeTitle");
    }
    setHasOptionsMenu(false);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    return super.onOptionsItemSelected(item);
}

@Override
public void onPrepareOptionsMenu(Menu menu) {
    menu.clear();
    activity.invalidateOptionsMenu();
    super.onPrepareOptionsMenu(menu);

}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
}



public void setDoChangeTitle(boolean doChangeTitle) {
    this.doChangeTitle = doChangeTitle;
}

View view;
boolean isInflated = false;
ParentActivity activity;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (view == null) {
        mControl = getArguments().getParcelable("control");
        view = inflater.inflate(R.layout.form_generator_fragment, container, false);
        container = (LinearLayout) view.findViewById(R.id.cont);
        isInflated = true;
    } else {
        if (view.getParent() != null)
            ((ViewGroup) view.getParent()).removeAllViews();
        isInflated = false;
    }

    return view;
}

String headerPageTitle = null;

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    activity = (ParentActivity) getActivity();
    activity.getSupportActionBar().invalidateOptionsMenu();

        CreatedNum++;

}

@Override
public void onResume() {
    super.onResume();
    activity.setPageTitle(headerPageTitle);
    setHasOptionsMenu(false);
    activity.getSupportActionBar().invalidateOptionsMenu();

}


public void isDialog(boolean b) {
    isDialog = b;
}

}

哈纳·穆罕默德(Hanaa Mohamed)

我发现对话框片段只需要时间就知道选项菜单不再存在,因此我不得不在启动片段之前使用处理程序发布延迟

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

python中的选项菜单

来自分类Dev

在WordPress中创建选项菜单

来自分类Dev

FragmentPagerAdapter中的片段选项菜单

来自分类Dev

Swift:打开“在菜单中”选项

来自分类Dev

FragmentPagerAdapter中的片段选项菜单

来自分类Dev

选项卡活动中的DialogFragment将不会显示

来自分类Dev

选项(⌥)+可可中的上下文菜单?

来自分类Dev

选择下拉菜单中的选项

来自分类Dev

Android:在单个列表中创建选项菜单

来自分类Dev

在管理页面中删除选项树菜单

来自分类Dev

从右键菜单中删除临时选项

来自分类Dev

在Android Studio中实现选项菜单

来自分类Dev

引导菜单中的UEFI与非UEFI选项

来自分类Dev

记住选择菜单中的选定选项

来自分类Dev

Android:在单个列表中创建选项菜单

来自分类Dev

grub菜单中的“恢复”选项是什么?

来自分类Dev

从菜单中删除“重新启动”选项

来自分类Dev

在操作栏中隐藏菜单选项

来自分类Dev

从片段中访问“选项”菜单?安卓

来自分类Dev

在Android中添加选项菜单

来自分类Dev

在下拉菜单中隐藏选项

来自分类Dev

为 tkinter 中的选项菜单赋值

来自分类Dev

如何从bios启动菜单中删除选项

来自分类Dev

选项菜单,选项之间有线,例如菜单中显示的选项之间的分隔线

来自分类Dev

选项菜单,选项之间有线,例如菜单中显示的选项之间的分隔线

来自分类Dev

登录/注销时在选项菜单中隐藏菜单

来自分类Dev

如何在选项菜单中更改选项的标签?

来自分类Dev

硒通过下拉菜单中的选项进行迭代

来自分类Dev

下拉菜单中的每个选项都必须被截断