fragment生命周期、activity生命周期、recycleview生命周期
Activity与fragment生命周期类似,但是fragment依赖于activity。并且只要onStart方法被调用一定会启动onResume方法。
- activity由暂停回到前台时(调用了onPause而还未调用onStop):直接调用onResume方法并在之后回到运行态。
- activity由暂停回到前台但因原因导致进程终止:相当于重新创建
- activity由停止回到前台(调用了onStop):onRestart–》onStart–》onResume–》运行
- activity由停止回到前台但因原因导致进程终止:相当于重新创建
fragment整个生命周期onAttach和onCreate只会调用一次,每当返回到这个fragment时从onCreateView开始,onCreateView用于创建fragment界面显示组件。
recycleview从 onAttachedToRecyclerView开始,之后调用onCreateViewHolder创建界面视图,调用onBindViewHolder绑定对应数据,并且调用次数将由getItemCount决定,注意onBindViewHolder的内容会重复执行,添加不同数据时要注意。
recycleview单击冲突问题
如果在recycview的adapter中注册监听事件将会导致冲突,只会响应最后一个item位置的事件。可以将监听注册在recycleview的viewholder中,并在viewholder中写上用于获取recycleview的item计数的方法。
public int nowItem;//当前item
public int getNowItem() { return nowItem; }//本viewholder内获取
public void setNowItem(int nowItem) { this.nowItem = nowItem; }//recyview中设置
viewpager切换的fragment之间数据交互
最简单的方法就像上面的代码那样直接定义需要的变量,并在viewpager的adapter中设置和