Java 使用现有xml小部件的Alertdialog setView()

Java 使用现有xml小部件的Alertdialog setView(),java,android,Java,Android,我在.xml文件中有一个带有LinearLayout的EditText,希望将其添加为AlertDialog上的setView()参数。这可能吗?以下是我尝试过的: AlertDialog.Builder builder = new AlertDialog.Builder(this); final EditText input = new EditText(this); builder.setView(input); 但启动时对话框为空。我做错了什么?像这样使用它 AlertDialog.Bu

我在.xml文件中有一个带有LinearLayout的EditText,希望将其添加为AlertDialog上的
setView()
参数。这可能吗?以下是我尝试过的:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
final EditText input = new EditText(this);
builder.setView(input);
但启动时对话框为空。我做错了什么?

像这样使用它

AlertDialog.Builder builder = new AlertDialog.Builder(this);
LayoutInflater inflater = this.getLayoutInflater();
View dialogView = inflater.inflate(R.layout.your_layout, null);
builder.setView(dialogView);

AlertDialog alertDialog = builder.create();
alertDialog.show();
EditText editText = (EditText) dialogView.findViewById(R.id.your_edit_text);
使用
dialogView
可以像这样获得您的
EditText

AlertDialog.Builder builder = new AlertDialog.Builder(this);
LayoutInflater inflater = this.getLayoutInflater();
View dialogView = inflater.inflate(R.layout.your_layout, null);
builder.setView(dialogView);

AlertDialog alertDialog = builder.create();
alertDialog.show();
EditText editText = (EditText) dialogView.findViewById(R.id.your_edit_text);
也许会有帮助

 AlertDialog.Builder builder = new AlertDialog.Builder(this);
   LayoutInflater inflater = getLayoutInflater();
builder.setView(inflater.inflate(R.layout.YourLayout, null));
AlertDialog ad = builder.create();