마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

프래그먼트 전환할 때 다른 프래그먼트의 탭 레이아웃도 전환하기

0 추천
액티비티A의 bottom navi로 프래그먼트A와 프래그먼트B가 연결되어 있고, 프래그먼트 B에 탭레이아웃과 뷰페이저2로 연결된 프래그먼트a, b가 있습니다

프래그먼트A에 있는 버튼을 눌러서 프래그먼트B로 화면전환은 했는데, 프래그먼트B에 있는 탭까지 b로 옮기려면 어떻게 해야하나요?
edvedv (170 포인트) 님이 2023년 1월 29일 질문

1개의 답변

0 추천
 
채택된 답변

프래그먼트B의 Argument로 열고자 하는 탭인덱스를 전달하세요.

// FragmentA
getSupportFragmentManager()
    .beginTransaction()
    .replace(..., FragmentB.newInstance(1), ...)
    .commit();

// FragmentB
private static final String TAB_INDEX = "tabIndex";
private static final int DEFAULT_TAB_INDEX = 0;

public static FragmentB newInstance(int tabIndex) {
    FragmentB fragmentB = new FragmentB();
    Bundle bundle = new Bundle();
    bundle.putShort(FragmentB.TAB_INDEX, 1);
    fragmentB.setArguments(bundle);
    return fragmentB;
}

@Override
public void onViewCreated (View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    if (getArguments() != null) {
        short tabIndex = getArguments().getShort(TAB_INDEX, DEFAULT_TAB_INDEX);
        // TODO :  탭인덱스 설정
    }
}

 

spark (224,800 포인트) 님이 2023년 1월 29일 답변
edvedv님이 2023년 1월 29일 채택됨
...