使用safe args传递参数

<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的方式来对参数进行更友好的操作。

猜你喜欢

转载自blog.csdn.net/whb008/article/details/115112068
今日推荐