fragment 안에 viewpager 사용
조회수 1209회
현재 메인 화면에서 하단 tab 3가지로 fragment 1,2,3 화면 전환되도록 구성하였습니다. 그 중에서 fragment 1 으로 화면 전환시에 viewpager 가 나타나서 fragment4,5 화면을 보여주도록 설정했습니다. 다만 fragment 1을 처음으로 실행했을때는 viewpager 가 잘 진행되다가 fragment2,3 으로 이동후에 다시 fragment 1으로 진입하였을때는 Viewpager 가 실행되지않습니다. 구글링해보니 childfragmentmanager 를 viewadapter에 설정해야 한다고해서 설정해보니 이제는 두번째 진입시에 앱이 튕기네요 어떤것이 문제인지 초보자가 질문올립니다!
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import androidx.annotation.RequiresApi;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewpager.widget.ViewPager;
import java.util.ArrayList;
public class Fragment1 extends Fragment {
Button button;
ViewPager pager;
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.fragment1, container, false);
ViewPager pager = rootView.findViewById(R.id.pager);
pager.setOffscreenPageLimit(3);
MyPagerAdapter adapter = new MyPagerAdapter(getChildFragmentManager());
Fragment4 fragment4 = new Fragment4();
adapter.addItem(fragment4);
Fragment5 fragment5 = new Fragment5();
adapter.addItem(fragment5);
pager.setAdapter(adapter);
return rootView;
}
class MyPagerAdapter extends FragmentStatePagerAdapter {
ArrayList<Fragment> items = new ArrayList<Fragment>();
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
public void addItem(Fragment item) {
items.add(item);
}
public Fragment getItem(int position) {
return items.get(position);
}
public int getCount() {
return items.size();
}
}
}
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력