AlertDialog setContentView接管屏幕

时间:2010-08-31 00:42:29

标签: android view alertdialog

也许我在这里遗漏了一些明显的东西,但是我很难为AlertDialog的主体设置自定义视图。这是我正在做的设置自定义视图:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.setContentView(View.inflate(getContext(), R.layout.dialog_body, null));
}

视图不是设置AlertDialog正文的内容,而是放在整个屏幕上。如何获取视图只是为了替换AlertDialog消息体?

1 个答案:

答案 0 :(得分:2)

您正在通过调用setContentView设置活动的视图,这就是占用整个屏幕的原因。您也在我假设的活动的onCreate方法中执行此操作,您需要在onCreateDialog方法中执行此操作。

下面是docs的链接和示例。

public Dialog onCreateDialog(int id) {

            Dialog dialog = null;
            AlertDialog.Builder builder = new AlertDialog.Builder(app);
            AlertDialog alert = null;

            builder.setTitle("A title") 
                   .setCancelable(true)
                   .setView(myView);
                alert = builder.create();
                return alert;

}