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); }

浙公网安备 33010602011771号