gpt4 book ai didi

Java 堆栈 : Don't allow duplicates fragment entries into stack

转载 作者:行者123 更新时间:2023-11-29 04:50:04 25 4
gpt4 key购买 nike

我在我的应用程序中使用滑动菜单。当用户按下幻灯片菜单项时,我将 fragment 存储在堆栈中。如果我按下 fragmentA 它将作为第一个元素堆叠,如果我打开幻灯片菜单并再次按下 fragmentA 它也将作为第二个元素,我想避免这种情况。这在我使用 android 时会出现问题硬件后退按钮,因为堆栈中有两个相同的 fragment 。如何避免它。

public void switchContent(Fragment fragment) {
mContent = fragment;

FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.add(R.id.content_frame, mContent);
FragmentChangeActivity.fragmentStack.lastElement().onPause();
FragmentChangeActivity.fragmentStack.push(mContent);
ft.commit();

getSlidingMenu().showContent();
}

最佳答案

试试这个:

public void switchContent(Fragment fragment) {
if(mContent !=null && (fragment.getClass().toString().equals(mContent.getClass().toString()))){
return;
}
mContent = fragment;

FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.add(R.id.content_frame, mContent);
FragmentChangeActivity.fragmentStack.lastElement().onPause();
FragmentChangeActivity.fragmentStack.push(mContent);
ft.commit();

getSlidingMenu().showContent();
}

关于Java 堆栈 : Don't allow duplicates fragment entries into stack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35771984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com