现在 Handler() 已被弃用,我该使用什么?
2022-08-31 05:20:35
如何修复此代码中的弃用警告?或者,还有其他选择可以执行此操作吗?
Handler().postDelayed({
context?.let {
//code
}
}, 3000)
如何修复此代码中的弃用警告?或者,还有其他选择可以执行此操作吗?
Handler().postDelayed({
context?.let {
//code
}
}, 3000)
仅弃用无参数构造函数,现在最好通过该方法在构造函数中指定 。Looper
Looper.getMainLooper()
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
@Override
public void run() {
// Your Code
}
}, 3000);
Handler(Looper.getMainLooper()).postDelayed({
// Your Code
}, 3000)
如果你想避免在Kotlin(或)中进行空检查,如果你正在处理一些与UI相关的东西,你可以使用,就像这样:?
!!
Looper.getMainLooper()
Handler
Handler(Looper.getMainLooper()).postDelayed({
Toast.makeText(this@MainActivity, "LOOPER", Toast.LENGTH_SHORT).show()
}, 3000)
注意:使用片段时,请代替使用片段。requireContext()
this@MainActivity