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按钮就只能看到一半了
求大神解决
展开
 我来答
满地花伤
2014-03-21 · TA获得超过374个赞
知道小有建树答主
回答量:457
采纳率:50%
帮助的人:119万
展开全部
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里呢?
追问
谢谢!请问把mess和et一起,放到view里怎么写!
追答
就是在view显示之前将mess添加进去,这样setView()的时候自然也将mess显示出来了
Yu少_巨蟹
2014-03-21
知道答主
回答量:27
采纳率:0%
帮助的人:8.1万
展开全部
单独写个布局,然后加载成一个View,添加到Dialog上就好了,或者你可以直接用PopupWondow来实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式