Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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 单击“操作”时不会取消Snackbar_Android_If Statement_Kotlin_Android Button_Snackbar - Fatal编程技术网

Android 单击“操作”时不会取消Snackbar

Android 单击“操作”时不会取消Snackbar,android,if-statement,kotlin,android-button,snackbar,Android,If Statement,Kotlin,Android Button,Snackbar,通过单击事件,我尝试关闭Snackbar,只要它打开。然而,出于某种原因,它并没有被解散,尽管它成功地打开了 如果EditText为空,我希望出现Snackbar 否则,如果EditText不是空的,我希望Snackbar被取消 我试过用这个,但没用: if (mSnackbar.isShown) { mSnackbar.dismiss() } 在这种情况下是否需要使用回调?如果是的话,我不确定它需要去哪里 val mSnackbar = Snackbar.make(mRootVi

通过单击事件,我尝试关闭
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()
        }
    }
} 

试试这样的

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

试试这样的

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

为什么尝试在按钮单击中显示?为什么尝试在按钮单击中显示?您在
else
中得到了什么?请尝试在
else
下面创建
日志
,并检查
if语句中的条件是否有效,以及
else
我为什么添加此代码。在“单击侦听器”按钮上,检查文本是否为空,否则显示snackbar。谢谢你接受我的回答。你从
else
中得到了什么?试着在
else
下面创建一个
Log
,并检查
if语句中的条件是否有效,以及
else
我为什么添加此代码。在“单击侦听器”按钮上,检查文本是否为空,否则显示snackbar。谢谢你接受我的回答。