onBackpressed()第一次去同样的活动
问题描述:
我尝试使用finish(),但最终像同样的问题,每次它首次进入相同的活动。如果我使用意图返回意味着结果活动得到重新加载,所以对于这种情况下,我只需要onBackPressed()函数。onBackpressed()第一次去同样的活动
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(type.equals(AppConstantsUtils.VIDEO)) {
onBackPressed();
}
else{
onBackPressed();
}
这是我使用的Tabfragment
private void setupUi(View view) {
mMediaVp = (ViewPager) view.findViewById(R.id.media_view_pager);
mMediaVp.setOffscreenPageLimit(3);
mTabLayout = (TabLayout) view.findViewById(R.id.media_tab_layout);
mTabLayout.setVisibility(View.GONE);
ArrayList<Fragment> fragments = new ArrayList<>(3);
if(pos.equals("1")) {
fragments.add(new PhotoListFragment());
}
else if(pos.equals("2")) {
fragments.add(new VideoListFragment());
}
else if(pos.equals("3")) {
fragments.add(new AudioListFragment());
}
else{
fragments.add(new VideoListFragment());
}
ArrayList<String> titles = new ArrayList<>(3);
if(pos.equals("1")) {
titles.add("Photos");
}
else if(pos.equals("2")) {
titles.add("Videos");
}
else if(pos.equals("3")) {
titles.add("Audios");
}
else {
titles.add("Videos");
}
mAdapter = new TabsPagerAdapter(getFragmentManager(), titles, fragments);
mMediaVp.setAdapter(mAdapter);
mTabLayout.setupWithViewPager(mMediaVp);
}
答
您是因为之前使用fragements你应该阅读this。 您只能使用onBackPressed()
,当您调用onBackPressed()
时,您必须将碎片添加到backstack以导航到碎片并弹出备份。希望有帮助
你的if-else语句对两种情况都做同样的动作... – AlexTa
我已经使用Intent for vid类型befor,这就是我没有移除它的原因。 –
你在片段上使用onBackPressed()吗? –