jetpack----Navigation组件(导航) 让页面切换无比简单 02 传值

//我们一些相关的操作最好在这里做,等页面加载起来之后
    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        //找到按钮
        Button button;
        button = getView().findViewById(R.id.button);
        //给按钮增加动作
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                EditText editText = getView().findViewById(R.id.editTextTextPersonName);
                String s = editText.getText().toString();

                //传值用Bundle
                Bundle bundle = new Bundle();

                if (s == null){
                    Toast.makeText(getActivity(),"请输入名字",Toast.LENGTH_SHORT);
                    return;
                }else {
                    bundle.putString("myName",s);
                }

                //找到我们当前的页面
                NavController controller = Navigation.findNavController(view);
                //控制跳转到细节页  并携带一个bundle
                controller.navigate(R.id.action_homeFragment2_to_detailFragment3,bundle);
            }
        });
    }

另一个fragment拿数据

@Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        //获取上一个页面传来的值
        String myName = getArguments().getString("myName");
        TextView textView = getView().findViewById(R.id.textView2);
        textView.setText(myName);
    }

 

posted @ 2021-09-29 11:39  涂妖教  阅读(108)  评论(0)    收藏  举报