Android: 关于Fragment初始化闪退问题
参考文档: Android中如何在Fragment中添加点击事件切换新的Fragment
问题描述: 在 Fragment 中,有一些控件(TextView)是需要动态赋值的,然后天真的我直接在 onCreateView
中根据用setText()
方法 来做。结果就是——闪退。最后发现取到的 TextView 是 null 。
解决办法: 其实有一个方法,是onActivityCreated()
,在里面为控件赋值就 OK 的。该方法是等布局加载完成之后,才能通过 ID 取到 Fragment 中的控件。相当于:我在水果店里买东西,伸手想从一个果篮里拿水果出来,但是发现篮子里什么都没有,等店员往里面放了商品之后,我才能在篮子里挑选自己想要的东西。
具体代码如下:
1 | public class FragmentMyInfo extends Fragment{ |
多说一句: title 没有取好,但暂时还不知道怎么用精准且简洁的语言来描述这个问题;第一次尝试用比喻来讲一个问题,也不知道比喻使用恰不恰当。之后想到了更好的都会改。
菜鸟发出一声凄厉的尖叫