碎片间传递数据
@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
<?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>