AlertDialog.Builder无法识别getWindow()

时间:2019-09-11 18:44:56

标签: android

我构造了一个名为dialogGenerator的方法,该方法创建venster的实例AlertDialog.Builder。该方法在venster上调用普通的类方法,没有任何问题;

public void dialogGenerator (String title, String message){

        final AlertDialog.Builder venster = new AlertDialog.Builder(this);
        venster.setIcon(R.drawable.ic_info_black_24dp);
        venster.setTitle(title);
        venster.setMessage(message);
        venster.setPositiveButton(
                "OK",
                new DialogInterface.OnClickListener(){
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                }
        );
        venster.show();
    }

但是,当我添加时(用于使背景透明);

venster.getWindow().setBackgroundDrawableResource(R.color.transparent)
无法识别

getWindow()。没有提供解决方案的Alt + Enter弹出窗口。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这是因为AlertDialog.Builder没有窗口。

我相信您正在尝试访问内置对话框的窗口。

调用show()时,您应该注意到它返回了AlertDialog,并且您应该尝试对该对象而不是构建器对象进行调用。

AlertDialog dialog = venster.show();
dialog.getWindow().setBackgroundDrawableResource(R.color.transparent);