关于Fragment中的getActivity()返回null导致程序崩溃的解决方案

最近遇到了一个问题,就是用v4包的fragment的时候,fragemnt中的getactivity()为null导致程序崩溃

     上网查看了很多资料,是activity的回收机制的问题,自己按照他们的方法改过很多次都没有解决,然后我自己写了一个解决方案,给大家参考,如果谁有更好的解决方案,欢迎评论。


接下来附上解决方案。


在你承载fragment的activity中定义一个静态的Activity,切记要重写activity中的onDestroy()进行Activity的销毁。注:以下的“F”为我的Activity的名字。

第一步,定义静态activity:

public static Activity F;

第二步,在onCreate()中写入:

F=F.this;

第三步,重写onDestroy():

    @Override
    protected void onDestroy() {
        super.onDestroy();
        F=null;
    }


在Activty中的步骤完成。

接下来,在你的Fragment中写上:

    private Activity getMyActivity(){
        return F.F;
    }


然后在调用getActivity()的地方改成getMyActivity(),完美解决问题。




你可能感兴趣的:(关于Fragment中的getActivity()返回null导致程序崩溃的解决方案)