1.使用Handler
class MainActivity : AppCompatActivity() {
private var handler = Handler(Looper.getMainLooper())
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
handler.postDelayed({
Toast.makeText(this, "hello", Toast.LENGTH_LONG).show()
}, 3000)
}
}
2.使用Activity裏面的view
下面的textView是當前activity對應的佈局文件的一個View
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
textView.postDelayed({
Toast.makeText(this, "hello", Toast.LENGTH_LONG).show()
}, 3000)
}
}
3.使用Thread
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Thread(Runnable {
Thread.sleep(3000)
runOnUiThread {
Toast.makeText(this, "hello", Toast.LENGTH_LONG).show()
}
}).start()
}
}
4.使用協程
- 引入協程
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.1"
- 實際使用
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
GlobalScope.launch(Dispatchers.Main) {
delay(3000)
Toast.makeText(this@MainActivity, "hello", Toast.LENGTH_LONG).show()
}
}
}