加载fragment,调用时的坑

    xiaoxiao2021-03-25  196

    也不算是坑,是自己写的时候没注意到,记下来,留个教训

    一个MainActivity 中添加一个fragment

    protected void onCreate(Bundle savedInstanceState) {

    mMainFragment = new MainFragment(); getSupportFragmentManager().beginTransaction() .replace(R.id.activity_main,new MainFragment()).commit(); }

    这个fragment中有方法refresh(),a为fragment的初始化的一个对象,b是a的方法

    void refresh(){

    a.b();

    }

    在其他activity中调用

    ((MainActivity)getActivity()).mMainFragment.refreshNum(); 会爆出a为null的错误

    原因是 MainFragment加载fragment时用的new MainFragment()应修改为:

    getSupportFragmentManager().beginTransaction() .replace(R.id.activity_main, mMainFragment).commit();

    转载请注明原文地址: https://ju.6miu.com/read-1524.html

    最新回复(0)