2 回答
TA贡献1864条经验 获得超6个赞
RecyclerView 只保存其滚动位置,直到您调用setAdapter
. 通过setAdapter
在您仍然没有数据时调用,滚动位置将被丢弃(如果没有位置 4,则无法滚动到位置 4)。
您应该等到有数据才能调用setAdapter
.
TA贡献1853条经验 获得超6个赞
当您旋转设备时,android 会检测配置更改并默认重新启动 Activity。通过这种方式,您的活动再次调用适配器,您的 recyclerview 返回到零位置。通过添加下面的命令,您的意思是您自己处理此配置更改,因此 android 不会重新启动您的活动。
将此行添加到清单文件中的活动标记
android:configChanges="screenSize|orientation"
像这样:
<activity
android:name=".SearchActivity"
android:configChanges="screenSize|orientation"
android:label="@string/search"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
添加回答
举报