碎片間傳遞數據
@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>