Xcode의 스토리보드 같은 기능이에요.
Xcode처럼 스토리보드 하나에 모든 레이아웃 코드가 들어있는게 아니라 각 레이아웃 파일은 기존처럼 있고, 새로 생긴 내비게이션 레이아웃 파일에서는 각 레이아웃 파일을 불러들여서 사용하기 때문에 코드로 편집까지 할 수 있어요.
나중되면 스토리보드보다 강력해질 것 같아요.
LoginCancelFragment에서 ItemListFragment를 연결하면 action_loginCancelFragment_to_itemListFragment 같은 액션id가 자동으로 생성되는데, 이렇게만 호출하면 ItemListFragment가 호출됩니다.
Navigation.findNavController(view).navigate(R.id.action_loginCancelFragment_to_itemListFragment);
데이터를 넘기고 싶을 땐 이렇게 하고,
Bundle bundle = new Bundle(); bundle.putString("name", "test23"); bundle.putInt("age", 223); Navigation.findNavController(view).navigate(R.id.action_loginCancelFragment_to_itemListFragment, bundle);
받는 곳에서는 이렇게만 하면 되네요.
name.setText(getArguments().getString("name")); age.setText(String.valueOf(getArguments().getInt("age")));
1 Activity - n Fragments를 지향하고 있는데 프레그먼트만 잘활용하면 xcode 스토리보드처럼 전체의 그림볼 수 있는게 매력적이더라구요
https://www.charlezz.com/?p=416