android - 第二次单击时 MenuItem.OnMenuItemClickListener 不工作

标签 android android-fragments android-studio onclick

我创建了 fragment 并根据菜单项的 onclick 事件安排了它的可见性。当我第一次点击时,它工作正常但再次点击 fragment 可见性不隐藏。图片说明;当我单击设置灰色 fragment 显示时,再次单击时我想隐藏灰色 fragment 但它没有做这些事情。

enter image description here

这是我的代码;

   @Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
     MenuItem item = menu.findItem(R.id.action_settings);
    item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            if (findViewById(R.id.frameLayout) != null)
            {
                FragmentTest fragmenttest = new FragmentTest();
                FragmentManager fm = getSupportFragmentManager();
                FragmentTransaction ft = fm.beginTransaction();
                if (fragmenttest.isVisible()) {
                    ft.hide(fragmenttest);

                } else {


                    if (fragmenttest.isAdded()) {

                    } else {
                        ft.add(R.id.frameLayout, fragmenttest, "Hello Fragment");
                    }

                    ft.show(fragmenttest);

                }
                ft.commit();

            }
            return false;
        }
    });
    return true;


}

最佳答案

移动

fragment 测试 fragmenttest = new FragmentTest();

到 Activity 的顶部。

关于android - 第二次单击时 MenuItem.OnMenuItemClickListener 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28209257/

相关文章:

java - 安卓 Java : App Crashes when onClick button pressed

android - 无法解析从本地源模块构建的本地 AAR

android - 如何将参数转换为对象名称

android - java.lang.IllegalStateException : Activity has been destroyed at Calling fragment inside another fragment to replace on framelayout

android - 在android中从mysql数据库搜索多个数据时出现问题

android - 如何将重心赋予 ScrollView 内的进度条?

android - Android BLE 数据写入问题 - 获取错误 133

android - webview图像放大点击android

android - SeekBar进度更新重绘整个ViewGroup

java - 删除包含特定字符的数组列表中的所有字符串