У меня есть синглтон ToastUtil
, который показывает тост и отменяет предыдущий тост, если он уже показан на экране.Вот мой текущий код:
object ToastUtil {
private lateinit var mToast: Toast
fun init(applicationContext: Context) {
mToast = Toast.makeText(applicationContext, null, Toast.LENGTH_SHORT)
}
fun showShortToast(message: String) {
mToast.cancel()
mToast.setText(message)
mToast.duration = Toast.LENGTH_SHORT
mToast.show()
}
fun showShortToast(messageId: Int) {
mToast.cancel()
mToast.setText(messageId)
mToast.duration = Toast.LENGTH_SHORT
mToast.show()
}
}
Но сообщения Toast не отображаются на телефоне.ToastUtil
определенно инициализирован (init(applicationContext
) в моей пользовательской реализации App
:
class App : Application() {
override fun onCreate() {
super.onCreate()
ToastUtil.init(this)
}
}
Я пробовал https://stackoverflow.com/a/33878500/8434188 безрезультатно.Я что-то пропустил?