<androidx.drawerlayout.widget.DrawerLayout 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/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".MainActivity"
tools:ignore="HardcodedText"
tools:openDrawer="start">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.viewpager.widget.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingStart="40dp"
android:paddingEnd="40dp">
</androidx.viewpager.widget.ViewPager>
</FrameLayout>
</LinearLayout>
<com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header"
app:menu="@menu/drawer_menu" />
</androidx.drawerlayout.widget.DrawerLayout>
현재 제가 메인액티비티 화면에 툴바와 나머지 화면을 프래그먼트로 구성하여 총 6개의 영화목록 프래그먼트를 뷰페이저로 만들었습니다.
어플리케이션을 실행하고 뷰페이저가 제대로 작동하고 있는데 네비게이션에서 다시 영화 목록 아이템을 눌렀을 때 영화 목록을 불러오지만 뷰페이저가 실행이 되질 않네요 무슨 문제인가요?... 도저히 모르겠네요
//뷰 페이저
pager = (ViewPager) findViewById(R.id.pager);
pager.setOffscreenPageLimit(6);
adapter = new MoviePagerAdapter(getSupportFragmentManager());
FragmentMovieOne fragment1 = new FragmentMovieOne();
adapter.addItem(fragment1);
FragmentMovieTwo fragment2 = new FragmentMovieTwo();
adapter.addItem(fragment2);
FragmentMovieThr fragment3 = new FragmentMovieThr();
adapter.addItem(fragment3);
FragmentMovieFou fragment4 = new FragmentMovieFou();
adapter.addItem(fragment4);
FragmentMovieFiv fragment5 = new FragmentMovieFiv();
adapter.addItem(fragment5);
FragmentMovieSix fragment6 = new FragmentMovieSix();
adapter.addItem(fragment6);
pager.setAdapter(adapter);
//네비게이션 드로우 안에 아이템들이 눌렸을때
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.nav_message:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new FragmentMovieOne()).commit();
break;
}
drawer.closeDrawer(GravityCompat.START); // close draw on left side
return true;
}