我是Android的新手,想知道在哪个生命周期方法中最好在片段中加载视图,例如
editText_full_name = (EditText) getActivity().findViewById(R.id.editText_full_name);
我正在考虑onResume()
,但有些事情告诉我它不合适。尽管如此,我想知道这样做的最佳实践。我还使用接口作为从片段到活动的通信回调。
编辑:我也想知道什么时候附加侦听器,比如onClickListeners到片段生命周期中的按钮。
检查完整的Android片段
当保证构建视图层次结构时,您可能希望在Fragment. onViewCreated()中添加侦听器。
这取决于你想实现什么。
首先,有一个函数public View onCreateView(LayoutInflater,ViewGroup容器,Bundle saveInstanceState)
。在那里,可以在LayoutInflater
的帮助下完成视图初始化。要获得子视图的引用,您必须在从LayoutInflater
初始化返回的视图上调用methodfindViewById
。在这个函数中还为您提供了Bundle
参数,它可以帮助您对配置更改做出反应(即屏幕旋转)。如果Bundle
参数不为空,则在配置更改后重新创建片段。
然后,有一个函数public void onViewCreated(View view…)
。在那里,您还可以初始化视图。每次调用它,活动都会打开片段。
关于性能的问题,我给你发了这个Stackoverflow的答案
不要在onResume
中初始化视图,因为每次出现在前台时都会调用此事件(上下滑动通知面板、来自后台、屏幕打开和关闭)。
正确的答案是在onCreateView(LayoutInflater膨胀器,ViewGroup容器,Bundle savedInstanceState)
中绑定视图。顺便说一句,我建议你看看这里。这是绑定视图的绝佳工具。很清楚