0

我有一个警报对话框,当用户单击设备上的后退按钮时会调用该对话框,但此警报太短,用户无法读取其中的任何内容或对其执行任何操作..

AlertDialog alertDialog = new AlertDialog.Builder(birthDate.this).create();
                    // Setting Dialog Title
                    alertDialog.setTitle("Alert Dialog");
                    // Setting Dialog Message
                    alertDialog.setMessage("Welcome to AndroidHive.info");
                    // Setting OK Button
                    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                    // Write your code here to execute after dialog closed
                    Toast.makeText(getApplicationContext(), "You clicked on OK", Toast.LENGTH_LONG).show();
                    }

我想让这个警报对话框的时间更长

4

4 回答 4

1

我认为您正在调用 alertdialog 并且finish()两者都在同一时间。尝试在警报对话框中完成活动

alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                // Write your code here to execute after dialog closed
                Toast.makeText(getApplicationContext(), "You clicked on OK", Toast.LENGTH_LONG).show();
                finish();// here calling finish if user click ok button.
                }
于 2012-11-27T10:15:26.140 回答
1

我的回答是指您的观点我想让这个警报对话框的时间更长

long time=System.currentTimeMillis();
Show Dialog

当再次关闭对话框时您需要的时间也是long time2=System.currentTimeMillis();如此time2-time1

更新

您是说 AlertDialog 在设备的后按按钮上关闭,然后使AlertDialog可取消为假。

于 2012-11-27T10:38:19.577 回答
0

我假设您在这里询问Toast单击警报对话框按钮时显示的内容。您可以通过增加Toast出现的持续时间来做到这一点。只需替换Toast.LENGTH_LONG为您想要的任何持续时间(以毫秒为单位)。

前任。

Toast.makeText(getApplicationContext(), "You clicked on OK", 5000).show();
于 2012-11-27T10:19:38.890 回答
0

试试下面的代码。这将为您提供足够的时间来显示警报对话框。我给3000作为参数给了3秒,你可以根据你的要求改变。

  @Override
public void onBackPressed() {
    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
    AlertDialog alertDialog = dialogBuilder.create();
    alertDialog.setTitle("Title of your message!");
    alertDialog.setMessage("Your message to user");
    alertDialog.show();

    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            MainActivity.super.onBackPressed();
        }
    }, 3000);

}
于 2017-08-08T10:52:01.097 回答