将 ProgressDialog 与 onCreateDialog / onPrepareDialog 一起使用时出现问题
我使用以下代码创建一个 ProgressDialog (在我的Activity):
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG_LOOKUP:
return new ProgressDialog(this, ProgressDialog.STYLE_SPINNER);
}
return null;
}
@Override
protected void onPrepareDialog(int id, Dialog dialog) {
switch (id) {
case DIALOG_LOOKUP:
dialog.setCancelable(true);
dialog.setTitle(R.string.dialogLookup_title);
((ProgressDialog)dialog).setMessage(getResources().getString(R.string.dialogLookup_message));
dialog.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
Toast.makeText(MyActivity.this, "canceled", Toast.LENGTH_SHORT).show();
}
});
break;
}
}
问题是它实际上并没有设置标题并把它放在一些奇怪的双盒子里。
它给了我这个:
但我期待更多类似这样的东西:
有什么想法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我刚刚尝试了您的示例,似乎从
ProgressDialog.STYLE_SPINNER
更改为ProgressDialog.STYLE_HORIZONTAL
修复了奇怪的双框问题。它还显示标题和文本。
编辑:
您正在
ProgressDialog
构造函数中传递ProgressDialog.STYLE_SPINNER
。从文档中,第二个参数是主题 id。
您必须创建一个
ProgressDialog
对象并使用setProgressStyle
来ProgressDialog.STYLE_SPINNER
I just tried your sample and it seems changing from
ProgressDialog.STYLE_SPINNER
toProgressDialog.STYLE_HORIZONTAL
fixed the weird double-box problem.And it also displays the title and text.
Edit:
You are passing
ProgressDialog.STYLE_SPINNER
in theProgressDialog
constructor.From the doc, the 2nd argument is a theme id.
You will have to create a
ProgressDialog
object and use thesetProgressStyle
toProgressDialog.STYLE_SPINNER