Navigation(2)

碎片间传递数据

在这里插入图片描述

 @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        getView().findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //连接xml控件
                EditText editText = getView().findViewById(R.id.editTextTextPersonName);
                //定义要传递的String数据变量并获取赋值
                String string = editText.getText().toString();
                //判断是否为空
                if(TextUtils.isEmpty(string)) {
                    //若为空,弹出吐司消息,返回return
                    Toast.makeText(getActivity(),"请输入名字",Toast.LENGTH_LONG).show();
                    return;
                }
                //定义bundle
                Bundle bundle = new Bundle();
                //bundle装载数据
                bundle.putString("my_name",string);
                //创建控制器
                NavController controller = Navigation.findNavController(v);
                //填写fragment也可以导航
                //控制器发射,(目标or动作路径,bundle数据)
                controller.navigate(R.id.action_homeFragment_to_detailFragment,bundle);
            }
        });
    }

在这里插入图片描述

//获取key为my_name的数据
 String string2 = getArguments().getString("my_name");
 //获取控件  设置为string2(刚获取到的数据显示在editText上)
        TextView textView = getView().findViewById(R.id.textView2);
        textView.setText(string2);

知识点 2 :Animation

Navigation(2)_第1张图片
Navigation(2)_第2张图片

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="-100%"
        android:toXDelta="0%"
        android:duration = "300"
        />
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:duration="1000"
        android:fromXScale="0.0"
        android:fromYScale="0.0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="1.0"
        android:toYScale="1.0" />
    <rotate
        android:duration="1000"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="360" />

</set>

你可能感兴趣的:(Android)