我在swipeViewPager
nonSwipeViewPager
和MainActivity
在swipeableViewPager
中,我有片段:homeFragmentFirst
和homeFragmentSecond
在nonSwipeableViewPager
中,我有片段:AppleFragment
,MangoFragment
,GrapesFragment
和CherryFragment
首先,我想在swipeableViewPager
中查看MainActivity
。所以我将setVisibility
的{{1}}设为nonSwipeableViewPager
。
选择GONE
中的项目后,我drawer
的{{1}} setVisibility
和swipeableViewPager
GONE
。
这样,我打开nonSwipeableViewPager
情况:
假设,我从抽屉中选择了 Grapes ,Visible
打开。
我在那里做了一些东西。然后当我按下后退按钮时,应用程序关闭,即AppleFragment
关闭。
我想要的是当按下后退按钮时,我想再次从GrapesFragment
带回MainActivity
。
我在homeFragmentFirst
swipeableViewPager
答案 0 :(得分:1)
我自己解决了。我在MainActivity
中添加了以下内容:
@Override
public void onBackPressed() {
if (nonSwipeHomeViewPager.getVisibility() == View.VISIBLE) {
nonSwipeHomeViewPager.setVisibility(View.GONE);
swipeHomeViewPager.setVisibility(View.VISIBLE);
swipeHomeViewPager.setCurrentItem(0,true);
} else if (swipeHomeViewPager.getVisibility() == View.VISIBLE){
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
}
}
答案 1 :(得分:0)
您可以为片段实现backstack(添加/替换片段时)将其添加到backstack。后退会自动将您带到上一个片段。
否则你需要覆盖OnBackPressed方法来处理你自己的逻辑。