添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

如何使用Intentservice更新recyclerview而不出现数据重复?

0 人关注

我有一个使用Intentservice的http请求获取数据的recyclerview。我有一个按钮来更新我的recyclerview适配器。当我按下这个按钮时,数据就会更新,似乎没有问题。但是当我按下这个按钮并改变屏幕方向时,回收器视图中的行数增加了一倍。

我在我的manefest里有这个。

        <activity android:name=".MainActivity"
        android:configChanges="orientation|screenSize">

所以看起来安卓系统不应该在改变方向时创建一个新的活动,而当我只是改变方向而不按更新按钮时,他却没有。有人对此有什么想法吗?谢谢。

2 个评论
我认为你在加载内容之前没有清除arraylist。
Rino
你想在你的应用程序中支持这两个方向吗?
android
intentservice
Vipme
Vipme
发布于 2018-01-29
3 个回答
MaYur MahAjan
MaYur MahAjan
发布于 2018-01-29
已采纳
0 人赞同

在第一次添加数据之前,只需清除列表,这样它也会帮助你在同一页面上回来。

Lalit Jadav
Lalit Jadav
发布于 2018-01-29
0 人赞同

每当发现新的数据,就检查旧的数据。

如果列表中没有新的数据,则插入它。 如果列表中的新数据可用,那么。 检查数据是否相同:不需要做什么 如果数据不同:用新数据更新旧数据,并通知recyclerview itemupdated。

你需要指定哪些数据需要更新,哪些不需要。应用你的逻辑进行比较。

iamgopal
iamgopal
发布于 2018-01-29
0 人赞同

当方向改变时,会发生什么?

定位的生命周期

onPause();
onSaveInstanceState();
onStop();
onDestroy();
onCreate();
onStart();
onResume();

Use this

android:configChanges="keyboardHidden|orientation|screenSize"