我有一个EditText
对象:
EditText textbox = new EditText (this);
textbox.setHint (something);
我想使用构建器将此视图添加到AlertDialog
。
AlertDialog.Builder builder = new AlertDialog.Builder (this);
builder.setTitle (R.string.enter_password_name)
.setPositiveButton (R.string.save_text, new DialogInterface.OnClickListener () {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setNegativeButton (R.string.cancel_text, new DialogInterface.OnClickListener () {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
我知道有一个方法setView(int)
,但我使用的是API 15,因此我只能使用setView(View)
,这也是我通过代码创建视图的原因。
到目前为止一切顺利,但我现在需要设置视图的LayoutParams
。我应该选择LayoutParams
什么?我知道在RelativeLayout
中您使用RelativeLayout.LayoutParams
而在LinearLayout
中使用LinearLayout.LayoutParams
。但是我应该在对话框中使用什么?
答案 0 :(得分:4)
根据源代码here,alertdialog的根元素是LinearLayout
,因此我建议使用LinearLayout.LayoutParams
答案 1 :(得分:0)
即使您想setView
view
作为参数,也可以随时在xml中创建视图并使用布局充气程序对其进行充气,然后将其用作参数。
示例:
View view = getLayoutInflater().inflate(R.layout.yourlayout, null);
setView(view);
答案 2 :(得分:0)
这取决于您是否为自定义视图充气。