Android:有时视图绘制为空矩形

Android:有时视图绘制为空矩形,android,android-view,android-resources,Android,Android View,Android Resources,大多数时间视图都正确显示,但有时它们显示为空白 这是我用来生成对话框的代码。标题和消息有时都显示为白色矩形(我想这是因为我使用了灯光主题,否则我认为它们会是黑色的) 要显示警报消息,请参考以下内容: 警报(getString(R.string.warning)、getString(R.string.want\u close)) public void Alert(String text, String title) { AlertDialog dialog=new Al

大多数时间视图都正确显示,但有时它们显示为空白

这是我用来生成对话框的代码。标题和消息有时都显示为白色矩形(我想这是因为我使用了灯光主题,否则我认为它们会是黑色的)


要显示警报消息,请参考以下内容:

警报(getString(R.string.warning)、getString(R.string.want\u close))

public void Alert(String text, String title)
    { 
        AlertDialog dialog=new AlertDialog.Builder(context).create();
        dialog.setTitle(title);
        dialog.setMessage(text);
        if(!title.equals("") && !text.equals(""))
        {
            dialog.setButton("OK",
                    new DialogInterface.OnClickListener()
                    {
                        public void onClick(DialogInterface dialog, int whichButton)
                        {
                            //Do anything
                        }
                    });
            dialog.setButton2("Cancel",
                    new DialogInterface.OnClickListener()
                    {
                        public void onClick(DialogInterface dialog, int whichButton)
                        {
                             //Do anything
                        }
                    });
        }

        dialog.show();

    }

您需要从
Builder
获取
Alertdialog
对象,然后显示

AlertDialog.Builder b = new AlertDialog.Builder(this);
b.setTitle(R.string.warning);
b.setMessage(R.string.want_to_close);
b.setPositiveButton(R.string.yes, ...);
b.setNegativeButton(R.string.no, ...);

AlertDialog alert = b.create();
alert.show();

你用什么语言?您使用的是不受支持的字符集吗?语言是斯洛文尼亚语,XML编码是UTF-8,这让我想到了。我将尝试用字符代码拼接替换xml中的所有特殊字符,并且文本不是空的,它们在strings.xml中。您可以传递,R.string.warning作为标题,R.string.want_to_close作为消息对话框内的视图本身显示为白色空矩形,但并不总是这样。大多数时候,它只显示您所称的“警报(getString(R.string.warning)、getString(R.string.msg));”。它对我有用。检查编辑的代码。您可以跳过它显示的create()
AlertDialog.Builder b = new AlertDialog.Builder(this);
b.setTitle(R.string.warning);
b.setMessage(R.string.want_to_close);
b.setPositiveButton(R.string.yes, ...);
b.setNegativeButton(R.string.no, ...);

AlertDialog alert = b.create();
alert.show();