如何让android中的弹出对话框不可见?

时间:2015-11-25 15:56:12

标签: android

我想知道如何在Android中隐藏弹出对话框?但仍然在工作,只是禁食。

@Override
public void onProviderDisabled(String provider) {
    //Toast.makeText(getApplicationContext(),"#####onProviderDisabled", Toast.LENGTH_LONG).show();
    AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
    dialog.setMessage("open gps");
    dialog.setPositiveButton("open GPS",
            new DialogInterface.OnClickListener() {

                @Override
                public void onClick(
                        DialogInterface paramDialogInterface,
                        int paramInt) {
                    Intent myIntent = new Intent(
                            Settings.ACTION_LOCATION_SOURCE_SETTINGS);
                    startActivity(myIntent);
                    // get gps
                }
            });
    dialog.setNegativeButton(
            "not now",
            new DialogInterface.OnClickListener() {
                @Override
                public void onClick(
                        DialogInterface paramDialogInterface,
                        int paramInt) {

                }
            });
    dialog.show();
}

};

3 个答案:

答案 0 :(得分:2)

要在不完全删除代码的情况下禁用对话框,只需注释掉显示对话框的行:

// dialog.show();

这样对话框就不会出现,如果你想在未来版本的应用程序中再次显示它,你可以取消注释该行。

答案 1 :(得分:0)

    public void onProviderDisabled(String provider) {
//Toast.makeText(getApplicationContext(),"#####onProviderDisabled", Toast.LENGTH_LONG).show();
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("open gps");
builder.setPositiveButton("open GPS",
        new DialogInterface.OnClickListener() {

            @Override
            public void onClick(
                    DialogInterface paramDialogInterface,
                    int paramInt) {
                Intent myIntent = new Intent(
                        Settings.ACTION_LOCATION_SOURCE_SETTINGS);
                startActivity(myIntent);
                // get gps
            }
        });
builder.setNegativeButton(
        "not now",
        new DialogInterface.OnClickListener() {
            @Override
            public void onClick(
                    DialogInterface paramDialogInterface,
                    int paramInt) {

            }
        });
AlertDialog alert = builder.create():
alert.show();
}

现在,您需要调用alert.dismiss()来关闭对话框。

答案 2 :(得分:0)

在您的代码中,调用show(),这将打开对话框。要关闭对话框,您需要使用相同的对象调用dismiss()。在AlertDialog中没有像VISIBLE和INVISIBLE。