场景:MainActivity(A)中有3个选项卡(forYou,topExplored,全部),每个选项卡都有可点击的图像,可将用户带到另一个Activity(B)。
我试图将父活动添加到清单文件中,但它只在左上角添加了后退按钮。
在网上冲浪时,我找到了addBackTrace
的代码,但无法理解应该在哪里使用它。这是我的代码:
MainActivity.java
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
TabLayout tabLayout = (TabLayout)findViewById(R.id.mainTabs);
ViewPager viewPager = (ViewPager)findViewById(R.id.viewpager);
tabPagerAdapter tabPagerAdapter = new tabPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(tabPagerAdapter);
tabLayout.setupWithViewPager(viewPager);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
}
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
tabPagerAdapter.java
String[] tabArray = new String[]{"For You", "Top Explored", "All"};
Integer tabCount = 3;
public tabPagerAdapter(FragmentManager fm) {
super(fm);
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return tabArray[position];
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
ForYou forYou = new ForYou();
return forYou;
case 1:
TopExplored topExplored = new TopExplored();
return topExplored;
case 2:
All all = new All();
return all;
}
return null;
}
@Override
public int getCount() {
return tabCount;
}
All.java
public All() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_all, container, false);
}
实际:在活动B中单击“后退”按钮时,用户始终会登陆到“主要活动”的标签1。 预期:用户应导航到点击图片的标签。