gpt4 book ai didi

android - 通过抽屉导航将先前的 fragment 替换为新 fragment 时, Volley 在新 fragment 中显示先前的 fragment 响应

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:14:26 28 4
gpt4 key购买 nike

我在抽屉导航里总共有 12 个 fragment 。每个 fragment 都有 volley 方法。每个 fragment 都显示自己的 Volley 响应,除了 position = 1 和 position = 5 fragment 。

当我的应用启动时

场景 1:我打开位置 1 fragment ,在我打开位置 5 fragment 之后,两个 fragment 都有位置 1 fragment 响应。

场景 2:如果我打开位置 5 fragment 并且在打开位置 1 fragment 之后比两个 fragment 都有位置 1 fragment 响应。

场景 1 图片:

FragmentInbox FragmentLaws

场景 2 图片:

FragmentLaws FragmentInbox

我的 fragment 交易方法类:

private void showFragment(Fragment fragment) {
llContainer = (LinearLayout)findViewById(R.id.container);
if (fragment != null) {
llContainer.removeAllViewsInLayout();
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.container, fragment, fragment.getClass().getName());
fragmentTransaction.commit();
fragmentManager.popBackStack();
}
}


@Override
public void onItemSelected(int position) {
Fragment frag = null;
switch (position) {
case POS_HOME:
frag = FragmentHome.instance(screenTitles[position]);
break;
case POS_INBOX:
txtToolbarTitle.setVisibility(View.VISIBLE);
txtToolbarTitle.setText("Notifications");
frag = FragmentInbox.instance(screenTitles[position]);
break;
case POS_LOG:
frag = FragmentLog.instance(screenTitles[position]);;
break;
case POS_BOOK:
frag = FragmentBook.instance(screenTitles[position]);
break;
case POS_BUILDING:
frag = FragmentBuilding.instance(screenTitles[position]);
break;
case POS_LAWS:
frag = FragmentLaws.instance();
break;
case POS_DOCUMENT:
frag = FragmentDocument.instance(screenTitles[position]);
break;
case POS_EVENT:
frag = FragmentEvent.instance(screenTitles[position]);
break;
case POS_BOARD:
frag = FragmentBoard.instance(screenTitles[position]);
break;
case POS_AROUND:
frag = FragmentAround.instance(screenTitles[position]);
break;
case POS_PROFILE:
frag = FragmentProfile.instance(screenTitles[position]);
break;
case POS_CONCIERGE:
frag = FragmentConcierge.instance(screenTitles[position]);
break;
}

showFragment(frag);
mSlideMenu.closeMenu();
}

最佳答案

问题出在 viewPager 中,两个 fragment 中的 viewpager 具有相同的 ID。所以我只是更改了 fragmentInbox 的 viewpager id,它现在正在工作。

关于android - 通过抽屉导航将先前的 fragment 替换为新 fragment 时, Volley 在新 fragment 中显示先前的 fragment 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46764190/

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