问题使用ProgressDialog与onCreateDialog / onPrepareDialog
-
25-09-2019 - |
题
我使用以下代码来创建 ProgressDialog (在我的活动):
@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;
}
}
的问题是,它实际上没有设置标题,并把它在一些奇怪的双框。
它给我这样的:
但我期待更多的东西是这样的:
任何想法?
解决方案
我只是想你的样品,它似乎从ProgressDialog.STYLE_SPINNER
到ProgressDialog.STYLE_HORIZONTAL
改变固定怪异的双盒问题。
和它也显示标题和文本。
编辑:
您正在传递ProgressDialog.STYLE_SPINNER
在ProgressDialog
构造。
从DOC,所述第二参数是一个主题的id。
您必须创建一个ProgressDialog
对象,并使用setProgressStyle
到ProgressDialog.STYLE_SPINNER
case DIALOG_LOOKUP:
ProgressDialog pdlg = new ProgressDialog(this);
pdlg.setProgressStyle(ProgressDialog.STYLE_SPINNER);
return pdlg;
不隶属于 StackOverflow