Мне нужно дважды щелкнуть по кнопке (любой: положительный, нейтральный и отрицательный), чтобы закрыть AlertDialog.
import android.annotation.SuppressLint
import android.os.Bundle
import android.support.design.widget.Snackbar
import android.support.v7.app.AlertDialog
import android.support.v7.app.AppCompatActivity
import android.view.KeyEvent
import android.view.View
import com.example.said.puntodeventa.R.layout.layout_addproduct
class someClass : AppCompatActivity() {
@SuppressLint("StringFormatInvalid")
private fun someDialog(){
AlertDialog.Builder(this).apply {
setTitle("title")
setMessage("message")
setNegativeButton("No"){ dialog, which ->
anEditText.text.clear()
anEditText.requestFocus()
dialog.cancel()
dialog.dismiss()
}
setNeutralButton("Neutral"){ dialog, which ->
someEditText.text.clear()
someEditText.requestFocus()
dialog.cancel()
dialog.dismiss()
}
setPositiveButton("Yes") { dialog, which ->
addProduct()
dialog.cancel()
dialog.dismiss()
}
create()
show()
}
}
private fun addProduct(){
//some code working properly
}
}
addProduct()
и .text.clear()
работают отлично, но AlertDialogне закрывается при первом нажатии на него.
Я пытался использовать только с dialog.cancel()
, dialog.dismiss()
по отдельности и, похоже, ничего не работает, как будто код отсутствует.
Я также пытался импортировать android.app.AlertDialog
с теми же результатами.
Это красный текст в журнале, когда я нажимаю на любую из кнопок, не имеет значения, если это первый раз (когдаAlertDialog не закрывается) или второй (когда он фактически закрывается).
05-19 16:42:34.543 24647-24647/com.example.name.appdemo E/ViewRootImpl: sendUserActionEvent() mView == null
Спасибо