<argument
android:name="user_name"
app:argType="string"
android:defaultValue='"unknown"'/>
//通过safe args完成参数传递
Bundle bundle = new MainFragmentArgs.Builder().setUserName("Michael").setAge(30).build().toBundle();
Navigation.findNavController(v).navigate(R.id.action_mainFragment_to_secondFragment, bundle);
Bundle bundle = getArguments();
if(bundle != null)
{
String userName = MainFragmentArgs.fromBundle(getArguments()).getUserName();
int age = MainFragmentArgs.fromBundle(getArguments()).getAge();
TextView tvSub = view.findViewById(R.id.tvSub);
tvSub.setText(userName + age);
}
正如插件safe args名字所代表的意思,它的主要好处在于安全的参数类型,通过getter setter的方式来对参数进行更友好的操作。