DynamicFragment.java 1.72 KB
Newer Older
konghaorui committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
package com.yidianling.dynamic;

import android.os.Bundle;
import android.support.v4.app.Fragment;

import com.ydl.ydlcommon.ui.LoadingDialogFragment;


/**
 * Created by xiongyu on 2017/3/13.
 */
public class DynamicFragment extends Fragment {
    boolean isonActivityCreated;

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        isonActivityCreated=true;
    }

    @Override
    public void onHiddenChanged(boolean hidden) {
        super.onHiddenChanged(hidden);
        if (hidden) {
            onPause();
        }else{
            onResume();
        }
    }


    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) {
            //相当于Fragment的onResume
            if(isonActivityCreated){
                onResume();
            }
        } else {
            //相当于Fragment的onPause
            if(isonActivityCreated){
                onPause();
            }
        }
    }


    protected LoadingDialogFragment loadingDialogFragment;

    public void showProgressDialog(String msg){
        if (loadingDialogFragment == null){
            loadingDialogFragment = LoadingDialogFragment.Companion.newInstance(msg);
        }
        loadingDialogFragment.show(getChildFragmentManager(), null);
    }

    public void dismissProgressDialog(){
        if (loadingDialogFragment != null && loadingDialogFragment.isAdded()){
            loadingDialogFragment.dismissAllowingStateLoss();
            loadingDialogFragment = null;
        }
    }

    @Override
    public void onDetach() {
        super.onDetach();
        dismissProgressDialog();
    }
}