MainActivity.java
package com.example.flagmentmanagers;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1= findViewById(R.id.btn_01);
button1.setOnClickListener(this);//面向对象原则里面,自动进行类型匹配
/*平时用button1.setOnClickListener();设置回调函数
第一种方法直接new产生匿名内部类
第二种方法implements View.OnClickListener 常用
*/
Button button2=findViewById(R.id.btn_02);
button2.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btn_01:
replaceFlagment(new BlankFragment1());
break;
case R.id.btn_02:
replaceFlagment(new ItemFragment());
break;
}
}
//动态切换flagment
private void replaceFlagment(Fragment fragment) {
FragmentManager fragmentManager=getSupportFragmentManager();//获取
FragmentTransaction transaction = fragmentManager.beginTransaction();//开启事务
transaction.addToBackStack(null);//添加栈实现flagment返回上一步操作
transaction.replace(R.id.FL_01,fragment);//替换
transaction.commit();//提交
}
}
---------------------------------------------------------------
创建BlankFragment1.java,代码不用改动
---------------------------------------------------------------
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/FL_01"
android:background="#FF69FF">
---------------------------------------------------------------
创建ItemFragment.java,代码不用改动