Fragment使用v4包和app包的区别:https://blog.csdn.net/lingdianalex/article/details/52755580
ps:因为我比较懒写的介绍的不详细,如果你对fragment了解比较少,那你就去看比较详细的文章吧~嘻嘻嘻。。。
我这里用的是v4包下的Fragment (记得继承FragmentActivity)
public class MainActivity extends FragmentActivity implements View.OnClickListener {
private Fragment fragment1,fragment2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView img1 = findViewById(R.id.img1);
ImageView img2 = findViewById(R.id.img2);
img1.setOnClickListener(this);
img2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
FragmentManager manager = getSupportFragmentManager();//fragment管理器
//通过管理器开启一个事务
FragmentTransaction transaction = manager.beginTransaction();
switch (v.getId()) {
case R.id.img1:
if(fragment1 == null){fragment1 = new Fragment1();}
//transaction.addToBackStack(null); //按下返回 返回上一个fragment而不是直接退出
//替换fragment的方法(一参:容器id 二参:fragment对象)
transaction.replace(R.id.my_container,fragment1);
break;
case R.id.img2:
if(fragment2 == null){fragment2 = new Fragment2();}
//transaction.addToBackStack(null); //按下返回 返回上一个fragment而不是直接退出
//替换fragment的方法(一参:容器id 二参:fragment对象)
transaction.replace(R.id.my_container,fragment2);
break;
}
transaction.commit();//提交 不写这个一切都是瞎操作
}
}