目录
Fragment回退栈
ContentFragment fragment = new ContentFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.fl_content,fragment);
ft.addToBackStack(); //回退栈方法
ft.commit();
清空回退栈
FragmentManager fm= getFragmentManager();
int count = fm.getBackStackEntryCount();
for (int i = 0; i < count; ++i) {
fm.popBackStack();//清空回退栈中的内容
}
Fragment接口回调
两个Fragment之间无法直接传递数据,需要一个中间桥梁可以是Hrealer或接口回调、
什么是接口回调
定义一个外部接口
public interface CallBackListeners {
void setData(String s);
}
在第一个Fragment中传递数据
HomeFragment homeFragment =new HomeFragment ();
homeFragment .setData("我是接口回掉传递的数据");
在第二个Fragment实现接口并重写方法
public class MyFragment extends Fragment implements CallBackListeners{
...
public void setData(String data) {
Toast.makeText(this,data, Toast.LENGTH_SHORT).show(); }
}
Fragment通信
在Fragment里传递数据