Android-RecyclerView项目在方向更改后不可见

问题描述 投票:1回答:1

我在我的应用中使用的是Conductor framework

该应用通常固定为人像状态,但是我有2个Controllers使用ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR并响应设备方向更改

  • [Controller A-显示拍摄的图像摘要
  • [Controller B-是摄像机交互]

因此启动A时,它将立即启动B并在拍摄图像后显示摘要。

[A持有使用RecyclerViewFlexboxLayoutManager(当我尝试使用简单的LinearLayoutManager替换布局管理器时,什么都没改变)]

我有3个可以正常工作的流程:

  1. 肖像中保持的设备-> A启动-> B启动->拍摄图像-> B关闭->图像中的[显示
  2. 风景]中保存的设备->
  3. A
  4. 启动-> B启动->拍摄图像-> B关闭->图像
    中的[显示纵向中保持的设备被启动-> A-> B被启动->设备方向
  5. 更改为风景
  6. ->拍摄图像->方向< [更改为肖像
    -> B已关闭->图像在A中为显示但是此方案失败:
纵向中保持的设备-> A启动-> B已启动->设备方向

更改为风景

->拍摄图像->

B

已关闭->图像在A中显示为[[NOT在所有流程中,我看到adapter知道新项目,并且getItemViewTypeonCreateViewHolderonBindViewHolder的位置正确)>失败的流程实际上是对我来说最自然的用户:(有人知道发生了什么吗?您能建议其他调查方向吗?

UPDATE:

    回收者视图已定义为android:layout_height="wrap_content"
  • android:layout_height="match_parent"一起使用时更改为LinearLayoutManager有效(看起来很丑)
  • 将其更改回FlexboxLayoutManager会使之前起作用的所有流程失败
  • 因此,我现在看一下FlexboxLayoutManager,看看是否可以轻松解决此问题-我认为流程中实际上并不需要回收者视图我在我的应用中使用了Conductor框架。该应用程序通常固定为纵向状态,但是我有2个使用ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR并响应设备的控制器...

    android android-recyclerview android-orientation android-flexboxlayout conductor
    1个回答
    © www.soinside.com 2019 - 2024. All rights reserved.