我是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/