也不算是坑,是自己写的时候没注意到,记下来,留个教训
一个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