【发布时间】:2013-07-15 20:48:57
【问题描述】:
我有一个 android 应用程序,它使用 viewpager 在两个片段之间滑动。
只有两个页面(每个页面一个片段)一个片段显示图像另一个文本视图。
创建并显示初始页面后,用户可以通过单击按钮更改显示的图像。
我使用 getView() 获取图像片段视图。我有布局的纵向和横向版本。
当我不更改屏幕方向时,代码工作正常。但是,在从纵向切换到横向后尝试从 Fragment.getView() 访问返回的视图时,在纵向和横向之间切换时,我得到一个空指针,反之亦然。
为什么在方向改变后从 Fragment.getView() 返回 null?
【问题讨论】:
-
你什么时候打电话给
getView()? -
我认为这就是我如何访问片段中的图像视图,以便我可以使用“setImageResource(R.drawable.another)”
-
我没有问为什么你打电话给
getView()。我问什么时候你打电话给getView()。 -
抱歉,我从按钮 onClicklistener 中调用片段上的 getView()。所以事件的顺序是 a)。切换方向,b)。活动 onCreate 执行 c)。设置按钮 onClicklistener d)。屏幕显示 e)。我点击按钮 f)。片段上的 getView 返回 null。我通过在 viewpager 拥有的 pageadapter 上调用 getItem 来访问片段。如果是 fragmentpageadapter,则为 pageadapter。
-
您是否在代表当前可见页面的片段上调用
getView()?还是你在另一个片段上调用它?