
Android中AlertDialog显示对话框出问题
privatevoidshowDialog(Stringmess){finalEditTextet=newEditText(this);newAlertDialog.Bu...
private void showDialog(String mess){
final EditText et=new EditText(this);
new AlertDialog.Builder(this).setTitle("Message")
.setView(et)
.setMessage(mess)
.setPositiveButton("ok",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which){
String str = et.getText().toString();
}
}).setNegativeButton("cancel",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which){}
})
.show();
}
我的mess内容较长
不加.setMessage(mess),可以正常显示.setView(et)
不加 .setView(et)可以正常显示 .setMessage(mess)
同时加了 .setView(et)和.setMessage(mess),就只能显示.setMessage(mess),同时窗口也拖长了,超出屏幕下方。ok和cancel按钮就只能看到一半了
求大神解决 展开
final EditText et=new EditText(this);
new AlertDialog.Builder(this).setTitle("Message")
.setView(et)
.setMessage(mess)
.setPositiveButton("ok",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which){
String str = et.getText().toString();
}
}).setNegativeButton("cancel",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which){}
})
.show();
}
我的mess内容较长
不加.setMessage(mess),可以正常显示.setView(et)
不加 .setView(et)可以正常显示 .setMessage(mess)
同时加了 .setView(et)和.setMessage(mess),就只能显示.setMessage(mess),同时窗口也拖长了,超出屏幕下方。ok和cancel按钮就只能看到一半了
求大神解决 展开
2个回答
展开全部
setView()与setMessage()不能同时使用吧,文档里是这么说的:A subclass of Dialog that can display one, two or three buttons. If you only want to display a String in this dialog box, use the setMessage() method. If you want to display a more complex view。意思是如果你只是显示一个字符串的话使用setMessage(),如果使用自定义布局就使用setView().
我感觉setMessage()就是android显示了一个默认的view布局,和你自定义的view产生了冲突,不过你既然使用了自定义view为什么不把需要显示的mess放在自定义里的view里呢?
我感觉setMessage()就是android显示了一个默认的view布局,和你自定义的view产生了冲突,不过你既然使用了自定义view为什么不把需要显示的mess放在自定义里的view里呢?
追问
谢谢!请问把mess和et一起,放到view里怎么写!
追答
就是在view显示之前将mess添加进去,这样setView()的时候自然也将mess显示出来了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询