提问者:小点点

何时从android中的布局加载Fragment中的视图


我是Android的新手,想知道在哪个生命周期方法中最好在片段中加载视图,例如

editText_full_name  = (EditText) getActivity().findViewById(R.id.editText_full_name);

我正在考虑onResume(),但有些事情告诉我它不合适。尽管如此,我想知道这样做的最佳实践。我还使用接口作为从片段到活动的通信回调。

编辑:我也想知道什么时候附加侦听器,比如onClickListeners到片段生命周期中的按钮。


共3个答案

匿名用户

检查完整的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)中绑定视图。顺便说一句,我建议你看看这里。这是绑定视图的绝佳工具。很清楚