添加新项目时,PageList和SubmitList闪烁

时间:2019-04-20 17:31:15

标签: android pagination architecture


每当将新项添加到pagelistAdapter时,它就很赞。这是一个聊天应用程序。

ViewModel代码。

UpViewModel(application:Application):AndroidViewModel(application) {
    val mDb = AppDatabase.getAppDatabase(application).userModel()
    fun setChatMessageReadData(Id: String):LiveData<PagedList<Item>> {
        val pagedListConfig = PagedList.Config.Builder().setEnablePlaceholders(true)
                .setPrefetchDistance(10)
                .setInitialLoadSizeHint(15)
                .setPageSize(15).build()
        val factory: DataSource.Factory<Int, Item> = mDb.readItem(Id)
        val pagedListBuilder: LivePagedListBuilder<Int, Item>
        pagedListBuilder = LivePagedListBuilder<Int, Item>(factory, pagedListConfig)
        return pagedListBuilder.build()
    }

DAO代码。

@Query("SELECT * FROM Item where id=:id")
    fun readItem(id:String): DataSource.Factory<Int, Item>

观察者是

     val Observer = Observer<PagedList<Item>> { item ->
                try {
                    if (item!!.size == 0) {
                        submitList(item)
                        return@Observer
                    }
                    submitList(item)
                } catch (e: java.lang.Exception) {
                    e.printStackTrace()
                }
            }

每次使用以下代码将位置设置为每当收到新消息时。 scrollToPosition(itemcount-1)。


请给我任何建议。谢谢。

0 个答案:

没有答案