本文已参与「新人创作礼」活动,一起开启掘金创作之路。
1.在frangment1里新加入Edittext模块:
编辑
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/et_msg"
android:hint="message">
</EditText>
在目的地之间传递参数---参考:
编辑
Frangment1.java:
public class Frangment1 extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.frangment1,null);
Button btn=view.findViewById(R.id.btn1_2);
EditText et=view.findViewById(R.id.et_msg);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String msg=et.getText().toString();
Bundle bundle=new Bundle();
bundle.putString("message",msg);
Navigation.findNavController(view).navigate(R.id.action_frangment1_to_frangment2,bundle);
}
});
return view;
}
}
在frangment2.xml里新加一个Textview模块:
编辑
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tv_msg">
</TextView>
Frangment2.java:
public class Frangment2 extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.frangment2,null);
Button btn=view.findViewById(R.id.btn2_1);
TextView tv_msg=view.findViewById(R.id.tv_msg);
Bundle bundle=getArguments();
String msg=bundle.getString("message");
tv_msg.setText(msg);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Navigation.findNavController(view).navigate(R.id.action_frangment2_to_frangment1);
}
});
return view;
}
}
效果图:
在frangment1里输入自己想要传递的信息:
编辑
点击按钮,发现信息已经成功传递到frangment2了:
编辑