package com.mine.fragmentdemo;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import static com.mine.fragmentdemo.FragmentFactory.F1;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private TextView tv1;
private TextView tv2;
private TextView tv3;
private FragmentManager mFragmentManager;
private Fragment mFragment1;
private Fragment mFragment2;
private Fragment mFragment3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) findViewById(R.id.tv1);
tv2 = (TextView) findViewById(R.id.tv2);
tv3 = (TextView) findViewById(R.id.tv3);
tv1.setOnClickListener(this);
tv2.setOnClickListener(this);
tv3.setOnClickListener(this);
/*
* Fragment重叠原因一
* 1.Activity横竖屏切换(或者后台的Activity由于内存不足,被回收),导致Activity重走生命周期
* 2.但是FragmentManager会保存之前的Fragment,当页面恢复时,会把这些Fragment都显示出来
* 3.此时,在Activity的onCreate里面你再次new Fragment时并且add了一次,会导致Fragment的重叠
* 4.解决方法是第一次时直接new,第二次页面恢复后&#x
Fragment内存回收后重叠及恢复数据问题
最新推荐文章于 2024-04-01 16:58:13 发布