onBackpressed()第一次参加同一活动

时间:2017-04-10 10:03:09

标签: android android-fragments fragment onbackpressed

我也尝试使用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);
}

1 个答案:

答案 0 :(得分:0)

您使用fragements后应阅读this。 您只能使用onBackPressed()在导航到片段时将片段添加到backstack,并在调用onBackPressed()时弹出窗口。希望有所帮助