【问题标题】:Android fragment getView() doesntAndroid片段getView()没有
【发布时间】: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()?还是你在另一个片段上调用它?

标签: android android-fragments


【解决方案1】:

如果你的 android:targetSdkVersion="12" 或更少

 android:configChanges="orientation|keyboardHidden">

如果你的 android:targetSdkVersion="13" 或更多

   android:configChanges="orientation|keyboardHidden|screensize">

【讨论】:

  • 我的应用程序有纵向和横向布局。我不想在我的代码中捕捉方向变化或仅修复为纵向。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多