现在我有一个activity1和一个activity2,activity1包含一个fragment,从activity1中的fragment启动activity2,并且将fragment界面上的值B传给activity2,在activity2中更新这个值B,然后保存后将这个fragment finish掉,程序就退回到activity1中的fragment,此时需要将更新后的值B显示到activity1中的fragment界面上,这应该怎么更新呢?我在activity2每次更新完保存回退到activity1中的fragment界面上,fragment界面上却没有更新。
PS补充说明:activity1中的fragment界面上的值是从用SharedPreferences保存到XML中的数据获取的,activity2中的值也是从XML中获取到的,更新后同步更新XML中的值。
通过打Log发现Fragment onPause后再退回来不会经过onCreate,但是会经过onStart和onResume,而且Fragment首次加载时也会经过onStart和onResume,并且在onCreateView之后。所以初次加载时可以在onCreate里获取数据并在onCreateView适配数据到界面控件上,但是再次退回来却可以在onStart里加载数据。反正两者都会经过onStart,所以可以都在onStart里加载数据。由于onStart方法是在onCreateView之后,所以在onStart里适配数据到Fragment界面上不会产生界面控件空引用的问题。
哦~学习了