Il ya trois fragments dans mon application.Je les ai montrés dans les onglets avec succès.Maintenant je veux montrer le fragment de tab1 sur le clic de navigationdrawer item1 et même pour le reste.Mais il y a un problème de chevauchement.Peut-être un guide moi de me débarrasser de ce problème?comment afficher l'onglet de pager de vue sur le clic de l'élément de tiroir de navigation sans chevauchement?
MainActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
// Set the ViewPagerAdapter into ViewPager
viewPager.setAdapter(new ViewPagerAdapter(getSupportFragmentManager()));
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.setDrawerListener(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();
}
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction =
fragmentManager.beginTransaction();
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_camera) {
fragmentOne f1 = new fragmentOne();
fragmentTransaction.replace(R.id.fragment_container,f1);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
getSupportActionBar().setTitle("Camera");
} else if (id == R.id.nav_gallery) {
fragmentTwo f2 = new fragmentTwo();
fragmentTransaction.replace(R.id.fragment_container,f2);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
getSupportActionBar().setTitle("Gallery");
} else if (id == R.id.nav_slideshow) {
MenuFragment f3 = new MenuFragment();
fragmentTransaction.replace(R.id.fragment_container,f3);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
getSupportActionBar().setTitle("List");
} else if (id == R.id.nav_manage) {
} else if (id == R.id.nav_share) {
} else if (id == R.id.nav_send) {
}
DrawerLayout drawer = (DrawerLayout)
findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
}
FragmentOne.java
public class fragmentOne extends Fragment {
TextView t1;
public fragmentOne(){
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.fragment_one_layout,container, false);
}
}
ViewPagerAdapter.java
public class ViewPagerAdapter extends FragmentPagerAdapter {
final int PAGE_COUNT = 3;
// Tab Titles
private String tabtitles[] = new String[] { "Tab1", "Tab2", "Tab3" };
Context context;
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return PAGE_COUNT;
}
@Override
public Fragment getItem(int position) {
switch (position) {
// Open FragmentTab1.java
case 0:
fragmentOne fragmenttab1 = new fragmentOne();
return fragmenttab1;
// Open FragmentTab2.java
case 1:
fragmentTwo fragmenttab2 = new fragmentTwo();
return fragmenttab2;
// Open FragmentTab3.java
case 2:
MenuFragment fragmenttab3 = new MenuFragment();
return fragmenttab3;
}
return null;
}
@Override
public CharSequence getPageTitle(int position) {
return tabtitles[position];
}
}
MainActivity.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/content_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.example.chaitanya.navbar.MainActivity"
tools:showIn="@layout/app_bar_main">
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v4.view.PagerTabStrip
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:paddingBottom="10dp"
android:paddingTop="10dp"
android:textColor="#000000" />
</android.support.v4.view.ViewPager>
<RelativeLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center|center_horizontal"
></RelativeLayout>
Qu'entendez-vous par chevauchement? –