第二个xml 第三个xml 主java public class MainActivity extends AppCompatActivity { FirstFragment FirstFragment; SecondFragment SecondFragment; private boolean qh = true; private boolean tz = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); FirstFragment = new FirstFragment(); transaction.add(R.id.txt_show,FirstFragment); transaction.commit(); } public void onClick(View view){ if(view.getId() == R.id.btn_show){ tz = true; if(qh) { FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); if (SecondFragment == null) { SecondFragment = new SecondFragment(); transaction.replace(R.id.txt_show2, SecondFragment); transaction.commit(); qh = false; } else { transaction.replace(R.id.txt_show2, SecondFragment); transaction.commit(); qh = false; } }else{ Toast.makeText(this,"This is second fragment",Toast.LENGTH_SHORT).show(); } } } public boolean onKeyDown(int keyCode,KeyEvent event) { if(event.getKeyCode()==KeyEvent.KEYCODE_BACK&&tz){ FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); qh = true; tz = false; transaction.replace(R.id.txt_show2,FirstFragment); transaction.commit(); return false; } else { finish(); } return super.onKeyDown(keyCode,event); } } 第二个java与第三个类似 public class FirstFragment extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ View view = inflater.inflate(R.layout.fragment_first,container,false); return view; } }
public class MainActivity extends AppCompatActivity { FirstFragment FirstFragment; SecondFragment SecondFragment; private boolean qh = true; private boolean tz = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction();
FirstFragment = new FirstFragment(); transaction.add(R.id.txt_show,FirstFragment); transaction.commit(); } public void onClick(View view){ if(view.getId() == R.id.btn_show){ tz = true; if(qh) { FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); if (SecondFragment == null) { SecondFragment = new SecondFragment(); transaction.replace(R.id.txt_show2, SecondFragment); transaction.commit(); qh = false; } else { transaction.replace(R.id.txt_show2, SecondFragment); transaction.commit(); qh = false; } }else{ Toast.makeText(this,"This is second fragment",Toast.LENGTH_SHORT).show(); } } }
public boolean onKeyDown(int keyCode,KeyEvent event) {
if(event.getKeyCode()==KeyEvent.KEYCODE_BACK&&tz){
FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); qh = true; tz = false; transaction.replace(R.id.txt_show2,FirstFragment); transaction.commit(); return false; } else { finish(); } return super.onKeyDown(keyCode,event);
}
public class FirstFragment extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ View view = inflater.inflate(R.layout.fragment_first,container,false); return view; }