【发布时间】:2018-03-07 09:39:48
【问题描述】:
我有一个带有按钮的简单应用程序,并在其上单击侦听器,它会显示一个带有已在按钮上执行的点击次数的 toast:
class MainActivity : AppCompatActivity() {
private val toast by lazy { Toast.makeText(this, "", LENGTH_LONG) }
var count = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener { updateToast() }
}
private fun updateToast() {
count++
toast.setText(count.toString())
toast.show()
}
}
我遇到的问题是,每次点击后吐司的持续时间都没有更新,并且在点击 20 次后(例如)吐司消失并且不再显示,即使我在显示之前再次设置了持续时间:
private fun updateToast() {
count++
toast.setText(count.toString())
toast.duration = LENGTH_LONG
toast.show()
}
我总是可以取消当前显示的 toast 并创建新的,但我想知道是否有办法更新现有 toast 上的文本并告诉它在新创建的 toast 期间保持在屏幕上。
【问题讨论】:
标签: android kotlin toast duration kotlin-android-extensions