Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么我的recyclerview在添加更新数据后返回顶部?_Android_Android Recyclerview - Fatal编程技术网

Android 为什么我的recyclerview在添加更新数据后返回顶部?

Android 为什么我的recyclerview在添加更新数据后返回顶部?,android,android-recyclerview,Android,Android Recyclerview,在循环器视图中滚动到底部后,我尝试加载更多数据。但每次我滚动到按钮,数据都会更新并添加新数据,但它会自动滚动到顶部。我希望它留在那里,更新数据 这是initView val apiService = NetworkFactory.buildBersedekahRetrofit(activity?.applicationContext!!) .create(KalisaServices::class.java) Log.e("load more", lo

在循环器视图中滚动到底部后,我尝试加载更多数据。但每次我滚动到按钮,数据都会更新并添加新数据,但它会自动滚动到顶部。我希望它留在那里,更新数据

这是initView

val apiService = NetworkFactory.buildBersedekahRetrofit(activity?.applicationContext!!)
        .create(KalisaServices::class.java)
    Log.e("load more", loadMore.toString())
    val call: Call<ListTransactionResponse> = apiService.getTransactionList(
        loadMore.toString(),
        10.toString()
    )

    layoutManager = LinearLayoutManager(context)

    call.enqueue(object : Callback<ListTransactionResponse> {
        override fun onResponse(
            call: Call<ListTransactionResponse>,
            response: Response<ListTransactionResponse>
        ) {
            pb.visibility = View.GONE
            programNames.addAll(response.body()?.list!!)
            listAdapter = HistoryListAdapter(programNames)
            if (loadMore > 0) listAdapter.notifyItemChanged(loadMore)
            list_view_history_program.layoutManager = layoutManager
            list_view_history_program?.apply {
                adapter = listAdapter
            }
            Log.e("listAdapter.itemCount", listAdapter.itemCount.toString())

            listAdapter.onItemClick = {
                navigation?.toWakafHistoryDetail(it.donatur)
            }
            loadMore += 10
        }

        override fun onFailure(call: Call<ListTransactionResponse>, t: Throwable) {
            Toast.makeText(activity, "Failure", Toast.LENGTH_SHORT).show()
            t.printStackTrace()
        }
    })
val-apiService=NetworkFactory.buildbersedekah(活动?.applicationContext!!)
.create(KalisaServices::class.java)
Log.e(“加载更多”,loadMore.toString())
val call:call=apiService.getTransactionList(
loadMore.toString(),
10.toString()
)
layoutManager=LinearLayoutManager(上下文)
排队(对象:Callback{
覆盖响应(
呼叫:呼叫,,
答复:答复
) {
pb.visibility=View.GONE
programNames.addAll(response.body()?.list!!)
listAdapter=HistoryListAdapter(程序名)
如果(loadMore>0)listAdapter.notifyItemChanged(loadMore)
列表\查看\历史\程序。布局管理器=布局管理器
列表\查看\历史\程序?。应用{
适配器=列表适配器
}
Log.e(“listAdapter.itemCount”,listAdapter.itemCount.toString())
listAdapter.onItemClick={
导航?.towakafhistorydeail(it.donatur)
}
加载更多+=10
}
覆盖失效时的乐趣(调用:调用,t:可丢弃){
Toast.makeText(活动,“失败”,Toast.LENGTH\u SHORT.show())
t、 printStackTrace()
}
})
这就是我如何处理底部后的滚动

private fun addScrollerLi

stener()
    {
        //attaches scrollListener with RecyclerView
        list_view_history_program.addOnScrollListener(object : RecyclerView.OnScrollListener()
        {
            override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int)
            {
                super.onScrolled(recyclerView, dx, dy)
                    //findLastCompletelyVisibleItemPostition() returns position of last fully visible view.
                    ////It checks, fully visible view is the last one.
                    if (layoutManager.findLastCompletelyVisibleItemPosition() == programNames.size - 1)
                    {
                        if (programNames.size < loadMore){
                            pb_history.visibility = View.GONE
                        }else {
                            initViews()
                            pb_history.visibility = View.VISIBLE
                        }
                    }
            }
        })
    }
private fun addScrollerLi
斯坦纳()
{
//使用RecyclerView连接scrollListener
list\u view\u history\u program.addOnScrollListener(对象:RecyclerView.OnScrollListener()
{
覆盖已克隆的乐趣(recyclerView:recyclerView,dx:Int,dy:Int)
{
super.onScrolled(回收视图、dx、dy)
//FindLastCompletelyVisibleItemPosition()返回最后一个完全可见视图的位置。
////它检查,完全可见的视图是最后一个。
if(layoutManager.findLastCompletelyVisibleItemPosition()==programNames.size-1)
{
if(programNames.size
有人知道为什么会这样吗?请帮忙