我想制作一个程序,如果按下它会显示一个带有确认按钮的警报对话框,如果按下它会继续,如果没有按下 30 秒会做其他事情。到目前为止,我得到了制作警报对话框显示的要点,但后来如果没有按下,我仍在努力
2 回答
1
public void showAlertDialogWithAutoDismiss() {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Title")
.setMessage("message")
.setCancelable(false)
.setPositiveButton("SKIP", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//this for skip dialog
dialog.cancel();
}
});
final AlertDialog alertDialog = builder.create();
alertDialog.show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
if (alertDialog.isShowing()){
alertDialog.dismiss();
}
}
}, 5000); //change 5000 with a specific time you want
}
于 2021-01-19T12:40:56.050 回答
0
import android.os.Handler
class DelayHandler {
var handler: Handler? = null
var runable: Runnable? = null
init {
handler = Handler()
}
fun startDealay(sec: Long, listner: () -> Unit) {
runable = Runnable { listner.invoke() }
handler?.postDelayed(runable!!, sec)
}
fun cancelHandler() {
if (handler != null) {
runable?.let { handler?.removeCallbacks(it) }
}
}
}
在你把它叫做你想要一个处理程序的地方之后
private val delayHandler: DelayHandler? = DelayHandler()
delayHandler?.cancelHandler() // call this for cancel the handler on button click
delayHandler?.startDealay(30 * 1000) { // 30 *1000 for 30 sec
// your action
}
于 2021-01-19T13:02:59.927 回答