gpt4 book ai didi

android - Fragment OnResume 未在 backpress 上调用

转载 作者:行者123 更新时间:2023-11-30 01:35:46 50 4
gpt4 key购买 nike

我正从 fragment A 转到 fragment B。现在,当我单击 backpress 时,不会调用 fragment A 中的 onResume() 方法。有谁知道这可能是什么原因造成的?

这是我试过的,它的 onResume 没有被调用:

 public class CurrencyFragment extends android.support.v4.app.Fragment {
public static String imagepath = null;
static ArrayList<EquityDetails> catListDao = new ArrayList<EquityDetails>();
static ArrayList<EquityDetails> catListDao1 = new ArrayList<EquityDetails>();
static int count = 0;
static boolean ab = false;
ListView list;
TextView empty_text;
View view;
Activity act;
AdvisorsAdapter adapter;
ImageView progressBar;
CustomToast toast;
AnimatorSet set;
private boolean isViewShown = false;

public static com.advisorymandi.CurrencyFragment newInstance() {
return new com.advisorymandi.CurrencyFragment();
}

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
isViewShown = true;
if (adapter != null) {
adapter.filter("");
}
} else {
isViewShown = false;
}
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.equity_activity, container, false);
act = this.getActivity();
Constants.check_fragment_visible = 1;
count++;
return view;
}

public void onActivityCreated(Bundle savedInstanceState1) {
super.onActivityCreated(savedInstanceState1);
setHasOptionsMenu(true);
list = (ListView) view.findViewById(R.id.list_equity);
empty_text = (TextView) view.findViewById(R.id.empty);
progressBar = (ImageView) view.findViewById(R.id.progressBar);
set = (AnimatorSet) AnimatorInflater.loadAnimator(getActivity(), R.animator.fadein);
set.setTarget(progressBar);
progressBar.setVisibility(View.GONE);
if (Utils.isNetworkAvailable(getActivity())) {
if (catListDao.size() > 0) {
adapter = new AdvisorsAdapter(act, R.layout.custom_equity, catListDao, 0);
list.setAdapter(adapter);
} else {
if (!isViewShown) {
new FetchAllData(getActivity(), 4).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
}
} else {
toast = new CustomToast(getActivity(), "There is no internet connection!");
}
}

@Override
public void onResume() {
super.onResume();
if (adapter != null) adapter.notifyDataSetChanged();
Constants.check_fragment_visible = 1;
if (Constants.check_reload) {
if (Utils.isNetworkAvailable(getActivity())) {
if (!isViewShown) {
new FetchAllData(getActivity(), 4).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
} else {
}
} else {
toast = new CustomToast(getActivity(), "There is no internet connection!");
}
}
}

@Override
public void onPause() {
super.onPause();

}


}
}

最佳答案

fragment 生命周期始终与父 Activity 的生命周期相关联,当您将 fragment 添加到后台堆栈时弹出 fragment ,但父 Activity 完好无损,它在前台,因此没有调用 onResume 它已经处于恢复状态,当您父 Activity 的简历称为您的 fragment onResume 将被调用。尝试按主页按钮并返回应用程序并查看行为。

关于android - Fragment OnResume 未在 backpress 上调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35123584/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com