fragment需要两个来进行跳转 第一个: 第二个: 下面是主界面java代码 这些都是看同学的修改的。。 public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private Fragment firstFragment; private Fragment secondFragment; private boolean skip = true; private boolean exit = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); blankFragment = new firstFragment(); FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); transaction.add(R.id.main, blankFragment); transaction.commit(); } public void onClick(View view) { switch (view.getId()) { case R.id.btn_main: jump(); break; } } private void jump() { boolean exit = true; if (skip) { FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); if (secondFragment == null) { secondFragment = new SecondFragment(); transaction.replace(R.id.main, secondFragment); transaction.commit(); skip = false; } else { transaction.replace(R.id.main, secondFragment); transaction.commit(); skip = false; } } else { Toast.makeText(this, "This is second fragment!", Toast.LENGTH_LONG).show(); } } public boolean onKeyDown(int keyCode, KeyEvent event) { if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && exit) { FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); skip = true; exit = false; transaction.replace(R.id.main, blankFragment); transaction.commit(); return false; } else { finish(); } return super.onKeyDown(keyCode, event); } }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
blankFragment = new firstFragment(); FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); transaction.add(R.id.main, blankFragment); transaction.commit(); }
public void onClick(View view) { switch (view.getId()) { case R.id.btn_main: jump(); break; } }
private void jump() { boolean exit = true;
if (skip) { FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); if (secondFragment == null) { secondFragment = new SecondFragment(); transaction.replace(R.id.main, secondFragment); transaction.commit(); skip = false; } else { transaction.replace(R.id.main, secondFragment); transaction.commit(); skip = false; } } else { Toast.makeText(this, "This is second fragment!", Toast.LENGTH_LONG).show(); } }
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && exit) {
FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); skip = true; exit = false; transaction.replace(R.id.main, blankFragment); transaction.commit(); return false; } else { finish(); } return super.onKeyDown(keyCode, event);
} }