我也尝试使用finish(),但最终会像同样的问题一样,每次第一次进入相同的活动。如果我使用intent返回意味着结果活动会重新加载,那么对于那种情况我只需要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);
}
答案 0 :(得分:0)
您使用fragements后应阅读this。
您只能使用onBackPressed()
在导航到片段时将片段添加到backstack,并在调用onBackPressed()
时弹出窗口。希望有所帮助