1月31日 Fragment四种跳转方式

Fragment四种跳转方式

从同一个Activiy的一个Fragment跳转到另外一个Fragment
从一个Activity的Fragment跳转到另外一个Activity
从一个Activity跳转到另外一个Activity的Fragment上
从一个Activity的Fragment跳转到另外一个Activity的Fragment上
从同一个Activiy的一个Fragment跳转到另外一个Fragment
getActivity().getSupportFragmentManager()
.beginTransaction()
.replace(R.id.xx, new XxxFragment(), null)
.addToBackStack(null)
.commit();
说明:
R.id.xx:Fragment对应的Activity布局中FragmentLayout的id
new XxxFragment():要跳转到的Fragment
addToBackStack(null):可以省略不写(不写表示为非压栈式添加)

从一个Activity的Fragment跳转到另外一个Activity
Intent intent = new Intent(getActivity(),OtherActivity.class);
startActivity(intent);
 

从一个Activity跳转到另外一个Activity的Fragment上
从OtherActivity跳转到MainActivity的YourFragment

Intent intent = new Intent(OtherActivity.this, MainActivity.class);
intent.putExtra("id",1);
startActivity(intent);
然后,我们在MainActivity里接收id值,对值进行判断,如果正确进行跳转操作:

int id = getIntent().getIntExtra("id", 0);
if (id == 1) {
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container,new YourFragment())
.addToBackStack(null)
.commit();
}
从一个Activity的Fragment跳转到另外一个Activity的Fragment上
Intent intent = new Intent(OtherActivity.this, MainActivity.class);

书写在对应的Fragment中,将OtherActivity.this更改为getActivity(),其他不用改变,几个完成跳转。

原文地址:https://www.cnblogs.com/dty602511/p/14859645.html