解决activity已经销毁,Fragment的跳转问题

以下全局变量类

> package com.app.kuwomusic.value;
> 
> import android.support.v4.app.FragmentManager;
> 
> import com.app.kuwomusic.MainActivity;
> 
> /**  * Created by Administrator on 2015/10/10.  */ 
> public class GolobValue {
>     /**
>      * 全局Activity
>      */
>     public static MainActivity MAIN;
>     /**
>      * 碎片管理者
>      */
>     public static FragmentManager MANAGER; }

以下是变量赋值的地方

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initGoloValue();
        loadSplash();
        Message msg=Message.obtain();
        handler.sendMessageDelayed(msg,3000);
    }
 /**
     * 初始化全局变量
     */
    private void initGoloValue() {
        GolobValue.MAIN=this;
        GolobValue.MANAGER=getSupportFragmentManager();
    }

以下是跳转逻辑


  * 替换当前FRAgment
     * @param newFragment 要替换的Fragment
     * @param nowFragment 被替换的Fragment
     * @param bundle 携带的数据
     * @param addStack 是否加入回退栈
     */
    public static void changeFragment(Fragment newFragment,Fragment nowFragment,Bundle bundle,boolean addStack){
        if(newFragment==null){
            return;
        }
        if(GolobValue.MANAGER==null){
            return;
        }
        FragmentTransaction ft=GolobValue.MANAGER.beginTransaction();
        if(ft==null){
            return;
        }
        ft.replace(R.id.main,newFragment);
        if(bundle!=null){
            newFragment.setArguments(bundle);
        }
        if(addStack){
            ft.addToBackStack(null);
        }
        //ft.setCustomAnimations();
        ft.commitAllowingStateLoss();
    }

以下是解决方法,在MainActivity中的销毁代码中取消全局变量的赋值

  @Override
    protected void onDestroy() {
        GolobValue.MAIN=null;
        GolobValue.MANAGER=null;
        super.onDestroy();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值