美文网首页
关于Fragment的OnResume

关于Fragment的OnResume

作者: StoneWay3 | 来源:发表于2018-01-11 11:17 被阅读0次

1.有时候在调用的Fragment的OnResume的方法不起作用,经查阅资料和亲自测试,我的问题解决了,解决方法如下:

①,在fragment第一次加载的时候调用OnResume方法,即:

@Override

public void onResume() {

super.onResume();

//这里获取数据

getData();

  Log.i("onResume","onResume");

}

②,然后再fragment再次回到视野中的时候,调用onHiddenChanged方法,即:

@Override

public void onHiddenChanged(boolean hidden) {

super.onHiddenChanged(hidden);

    if(hidden){

//pause

    }else{

//resume

        Log.i("onHiddenChanged","onHiddenChanged");

    getData();

    }

}

2,完整代码

public class ResumeFragmentextends Fragment {

@Nullable

@Override

    public ViewonCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

return super.onCreateView(inflater, container, savedInstanceState);

    }

@Override

    public void onResume() {

super.onResume();

        //这里获取数据

        getData();

        Log.i("onResume", "onResume");

    }

@Override

    public void onHiddenChanged(boolean hidden) {

super.onHiddenChanged(hidden);

        if(hidden){

//pause

        }else{

//resume

            Log.i("onHiddenChanged","onHiddenChanged");

            getData();

        }

}

}

3.运行结果

01-11 10:55:43.614 25487-25487/com.yykjwst.acceptance I/onResume: onResume

01-11 10:56:02.974 25487-25487/com.yykjwst.acceptance I/onHiddenChanged: onHiddenChanged

01-11 10:56:13.084 25487-25487/com.yykjwst.acceptance I/onHiddenChanged: onHiddenChanged

01-11 10:56:21.524 25487-25487/com.yykjwst.acceptance I/onHiddenChanged: onHiddenChanged

4.如果你的还是不行,那就试试其他的方法,比如说

@Override public void setUserVisibleHint(boolean isVisibleToUser) {

        super.setUserVisibleHint(isVisibleToUser);

        if (isVisibleToUser) {

            //相当于Fragment的onResume        } else {

            //相当于Fragment的onPause        }

    }

祝你好运

相关文章

网友评论

      本文标题:关于Fragment的OnResume

      本文链接:https://www.haomeiwen.com/subject/dnsznxtx.html