【问题标题】:Snackbar not being dismissed on action clickSnackbar 在操作点击时不会被关闭
【发布时间】:2019-10-07 01:39:06
【问题描述】:

通过点击事件,我试图在 Snackbar 打开时关闭它。但是,由于某种原因,尽管打开成功,它并没有被关闭。

  • 如果EditText 为空,我希望Snackbar 出现
  • 否则,如果 EditText 不为空,我希望 Snackbar 被关闭

我试过用这个,但是没用:

if (mSnackbar.isShown) {
    mSnackbar.dismiss()
}

在这种情况下是否需要使用回调?如果是,我不确定它需要去哪里。

val mSnackbar = Snackbar.make(mRootView, "Hello World", Snackbar.LENGTH_LONG)
val mEditText = findViewById(R.id.my_edit_text) as EditText
val mBtn = findViewById(R.id.my_btn) as Button

mBtn.setOnClickListener {
    if (mTextView.text.isEmpty()) {
        mSnackbar.show()
    } else {
        if (mSnackbar.isShown) {
            mSnackbar.dismiss()
        }
    }
} 

【问题讨论】:

  • 为什么你试图在按钮点击中显示?

标签: android if-statement kotlin android-button snackbar


【解决方案1】:

试试这样的。

mBtn.setOnClickListener {
    if (mTextView.text.isEmpty()) {
        mSnackbar.show()
    } else {
        mSnackbar.dismiss()
    }
}

【讨论】:

  • What are you get at else try to create a Log below the else and 检查条件是否适用于if statementelse
  • 为什么我添加了这段代码。在按钮单击侦听器处,检查文本是否为空显示快餐栏,否则关闭。感谢您接受我的回答。
猜你喜欢
  • 2017-02-27
  • 2016-05-22
  • 2016-12-13
  • 2014-02-25
  • 2015-12-24
  • 2011-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多