两次刷新即可看到SwipeToRefresh

问题描述

我看到两次滑动以刷新加载器

  1. 认颜色,永不关闭
  2. 我的彩色加载器在完成任务后立即关闭

这是xml的代码

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".fragments.HomeViewFragment">

    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
        android:id="@+id/swipetoRefreshLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        ............
        ............
    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

科特琳码

class HomeViewFragment : Fragment() {
    private lateinit var recyclerView: RecyclerView
    private lateinit var swipeRefreshLayoutView: SwipeRefreshLayout

    override fun onCreateView(
        inflater: LayoutInflater,container: ViewGroup?,savedInstanceState: Bundle?
    ): View? {
        val view: View = inflater.inflate(R.layout.fragment_home_view,container,false)
        
        recyclerView = view.findViewById(R.id.recycler_view)
        swipeRefreshLayoutView = view.findViewById(R.id.swipetoRefreshLayout)

   swipeRefreshLayoutView.setProgressBackgroundColorSchemeColor(ContextCompat.getColor(context!!,R.color.colorAccent))
        swipeRefreshLayoutView.setColorSchemeColors(Color.WHITE)

        
        if (json == null) {
            fetchApi()
        } else {
            setData()
            setRecyclerViewAdapter()

            swipeRefreshLayoutView.setonRefreshListener {
                showProgress()
                fetchApi()
                swipeRefreshLayoutView.isRefreshing = false
            }
        }
        setRVLayoutManager()

        return view;
    }
}


private fun fetchApi() {
        showProgress()
        val request = ServiceBuilder.buildService(AccountApiService::class.java)
        val call = request.getoverview()
        call.enqueue(object : Callback<AccountOverView> {
            override fun onResponse(
                call: Call<AccountOverView>,response: Response<AccountOverView>
            ) {
                if (response.isSuccessful) {
                    hideProgress()
                    recyclerView.apply {
                        setDataItems(response.body()!!)
                        setRecyclerViewAdapter()
                    }
                } else {
                    hideProgress()
                    Toast.makeText(context,"Null Response Received",Toast.LENGTH_LONG).show()
                }
            }

            override fun onFailure(call: Call<AccountOverView>,t: Throwable) {
                hideProgress()
                Toast.makeText(context,"${t.message}",Toast.LENGTH_LONG).show()
            }
        })

        swipeRefreshLayoutView.setonRefreshListener {
            showProgress()
            fetchApi()
            swipeRefreshLayoutView.isRefreshing = false
        }
    }

我看到两次滑动以刷新按钮,其中一个将是原色,并且一旦完成请求,它将停止刷新加载程序。 但是,连同所需的内容,我可以看到出现了与预期的黑色装载机相同的新黑色装载机,但从未关闭,尽管另一个现在已经关闭。 如何删除第二个加载器。

任何帮助将不胜感激

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)