【问题标题】:Hide Floating Action Button (FAB) on recyclerview click点击 recyclerview 时隐藏浮动操作按钮 (FAB)
【发布时间】:2020-07-07 17:20:27
【问题描述】:

当用户单击 recyclerview 中的项目时,我试图隐藏我的浮动操作按钮,但在我的主要活动类中使用下面的代码没有任何反应。使用 onscrolled 方法在滚动时隐藏我的 FAB,在隐藏 fab 时没有出现任何问题。任何帮助将非常感激。

val mFab2 = findViewById<FloatingActionButton>(R.id.floatingActionButton2)
val mRecyclerView: RecyclerView = findViewById(R.id.s_list)


fun hideFabWhenRecClicked(fab2: FloatingActionButton,recyclerView: RecyclerView) {
        recyclerView.setOnClickListener(object: View.OnClickListener {
        override fun onClick(v:View) {
            fab2.hide()
        }
    })
}

hideFabWhenRecClicked(mFab2,mRecyclerView)

【问题讨论】:

  • 请显示整个文件,也许您从未调用过该函数
  • 我确实使用 hideFabWhenRecClicked(mFab2,mRecyclerView) 调用了该函数,但它没有被调用……而我的 onscroll 函数 hideFabWhenScroll(mFab2,mRecyclerView) 确实被调用了。还有太多代码需要解密,这对我的 MainActivity 发布没有帮助。

标签: android kotlin android-recyclerview floating-action-button


【解决方案1】:

改用 onResume 函数解决了这个问题:

override fun onResume() { super.onResume() fab2.hide() }

【讨论】:

    【解决方案2】:

    看看这个:

    val mFab2 = findViewById<FloatingActionButton>(R.id.floatingActionButton2)
    val mRecyclerView: RecyclerView = findViewById(R.id.s_list)
    
    
    fun hideFabWhenRecClicked(fab2: FloatingActionButton,recyclerView: RecyclerView) {
            recyclerView.setOnClickListener(object: View.OnClickListener {
            override fun onClick(v:View) {
                fab2.setVisibility(View.GONE);
            }
        })
    }
    
    
    hideFabWhenRecClicked(mFab2,mRecyclerView)
    

    希望对你有用;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-27
      • 1970-01-01
      • 1970-01-01
      • 2015-11-14
      • 1970-01-01
      • 2015-12-13
      • 2023-03-15
      相关资源
      最近更新 更多