我是Android的新手,正在学习带片段的东西,并为此做了一个演示,因为我有一个片段,可以从该片段转到另一个活动,在那里进行一些计算,然后回到当时的状态我想将计算值分配到片段的textview中,那么我应该使用哪种生命周期方法呢?

public void onResume () {

        super.onResume();

        //tvFollowings.setText((sharedConnect.getCurrentUser().userFollowingCount)
//              + " Following");
                System.out.print("------user count is-------" + String.valueOf(sharedConnect.getCurrentUser().userFollowingCount));
        Toast.makeText(getActivity(), "------user count is-------" + String.valueOf(sharedConnect.getCurrentUser().userFollowingCount), Toast.LENGTH_SHORT).show();

}

最佳答案

最好的方法是在onPause和onResume之间切换。无需打扰家长活动

private boolean allowRefresh = false;

@Override
    public void onResume() {
        super.onResume();
        //Initialize();
        if(allowRefresh){
            allowRefresh=false;
            //call your initialization code here
        }
    }

    @Override
    public void onPause() {
        super.onPause();
        if (!allowRefresh)
            allowRefresh = true;
    }


片段加载时将始终调用onResume,因此allowRefresh的初始状态应为false,这样片段不会加载两次

在片段处于活动状态时打开新活动后,将调用onPause,仅在allowRefresh为false的情况下,将allowRefresh设置为true。

当片段重新获得焦点时,请检查allowRefresh是否为true并重做初始化。良好的代码习惯是将所有初始化代码放在一个函数中。

关于android - 返回 fragment UI时如何刷新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35504598/

10-10 06:20