getActivity().getSupportFragmentManager().beginTransaction().add(R.id.container, fragementB).addToBackStack(null).commit();
片段B
奥纳塔奇
OnCreate
停止-片段不可见。宿主活动已停止,或者片段已从活动中移除,但已添加到后堆栈中。停止的片段仍处于活动状态(系统保留所有状态和成员信息)。但是,它对用户不再可见,如果活动被杀死,它将被杀死。
这是否意味着当在同一活动中添加新片段时,不调用当前片段的方法?
然后在片段B中使用popbackstack()
我所期待的是?
片断A的onStart方法被调用,因为片断A现在可见
案例2
getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.container, fragementB).commit();
片段A
停顿
停止
getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.container, fragementB).addToBackStack("tag").commit();
奥纳塔奇
OnCreate
OnCreateView
然后在片段B中使用popbackstack()
片段A
OnCreateView
OnDestroy
翁德塔奇
我运行了一些日志以查看如下结果(就像这里的活动中所做的那样:https://stackoverflow.com/A/61299029/3904109
分段启动
On Fragment Launched (First Time)
———————————————————————
onAttach:
onCreateView:
onViewCreated:
onActivityCreated:
onStart:
onResume:
On Coming Back To Fragment (From another fragment)
———————————————————————
onCreateView:
onViewCreated:
onActivityCreated:
onStart:
onResume:
OnMaximize(Square Button-After Back Pressed)
———————————————————————
onAttach:
onCreateView:
onViewCreated:
onActivityCreated:
onStart:
onResume:
OnMaximize(Square Button-After Circle Button)
———————————————————————
onStart:
onResume:
OnMaximize(After Circle Button)
————————————————————————————————————————————————
onStart:
onResume:
片断停止
On Going To Another Fragment (Skipping 1 Fragment)
———————————————————————
onPause:
onStop:
onDestroyView:
On BackPressed - Reverse Triangle Button (App Minimized)
———————————————————————
onPause:
onStop:
onDestroyView:
onDestroy:
onDetach:
OnMinimize (Circle Button)
————————————————————————————————————————————————
onPause:
onStop:
OnMinimize (Square Button)
————————————————————————————————————————————————
onPause:
onStop:
Going To Another Activity
————————————————————————————————————————————————
onPause:
onStop:
Close The App
————————————————————————————————————————————————
onDestroyView:
onDestroy:
public View onCreateView(@NonNull LayoutInflater inflater,
@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
Log.d("TAG",
"onCreateView: ");
}
@Override
public void onAttach(Context context) {
Log.d("TAG",
"onAttach: ");
super.onAttach(context);
}
@Override
public void onViewCreated(@NonNull View view,
@Nullable Bundle savedInstanceState) {
Log.d("TAG",
"onViewCreated: ");
super.onViewCreated(view,
savedInstanceState);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
Log.d("TAG",
"onActivityCreated: ");
super.onActivityCreated(savedInstanceState);
}
@Override
public void onStart() {
Log.d("TAG",
"onStart: ");
super.onStart();
}
@Override
public void onResume() {
Log.d("TAG",
"onResume: ");
reAttachListeners();
super.onResume();
}
@Override
public void onPause() {
super.onPause();
Log.d("TAG",
"onPause: ");
removeListeners();
}
@Override
public void onStop() {
Log.d("TAG",
"onStop: ");
super.onStop();
}
@Override
public void onDestroyView() {
Log.d("TAG",
"onDestroyView: ");
super.onDestroyView();
}
@Override
public void onDestroy() {
Log.d("TAG",
"onDestroy: ");
super.onDestroy();
}
@Override
public void onDetach() {
Log.d("TAG",
"onDetach: ");
super.onDetach();
}
我有一段代码,调用startActivityForResult()从Android gallery中挑选图像。在调用startActivityForResult()和激活onActivityResult()时,我很难理解片段的生命周期。 “我的活动”检索信息并将其加载到listview。然后,它允许用户通过使用startActivityForResult()向照相机/多媒体资料应用程序发送意图,将
我想了解Android中活动生命周期和片段生命周期之间的相互作用,所以我决定启动一个新项目并从这个页面复制代码 然后我想,为了提高我的理解力,在平板电脑上测试它,改变它的方向,看看它发生了什么(尽管可能不是为了这个目的)。通过logcat,我跟踪在活动和国家/地区片段上触发的主要事件,例如在activity Oncreate中,我写道: 这是我从纵向视图开始,然后旋转时得到的结果: TAG:活动:
我正在使用以下方法通过显示/隐藏片段(在我的NavigationDrawer中)在片段之间切换。 我不清楚的是,当我显示或隐藏碎片生命周期的哪个方法被调用?(由于没有onShow()或onHide()这样的方法,我不太确定该使用什么)。我想在显示和隐藏某个片段时执行特定的操作。
问题内容: 在哪里进行调用将使我的状态失水的API调用的最佳位置是哪里?构造函数或生命周期方法之一,例如ComponentWillMount? 问题答案: 最好从生命周期方法进行api调用,反应文档也建议相同。 根据DOC: componentDidMount: 挂载组件后立即调用componentDidMount()。需要DOM节点的初始化应该在这里进行。 如果需要从远程端点加载数据,这是实例化
我对铁锈寿命的学习过程如下(基于铁锈书): 我想注释,当引用后面的值超出范围时 通常(并不总是!请参阅. data部分,即'静态')值位于块中 我们注释像这样的块,例如结构字段像 。 在哪一点上我的理解是错误的?提前感谢你对我的宽容。 免责声明:
为什么在带有容器管理事务的单例会话bean中,用@PostConstruct或@PreDestroy注释的方法只能具有以下事务属性之一: •要求 •REQUIRES_NEW •NOT_SUPPORTED