我正在使用以下代码创建一个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;
}
}
问题是它实际上并没有设置标题,而是把它放在一些奇怪的双框中.
它给了我这个:
但是我期待更像这样的东西:
有任何想法吗?
解决方法:
我刚试过你的样本,似乎从ProgressDialog.STYLE_SPINNER变为ProgressDialog.STYLE_HORIZONTAL修复了奇怪的双盒问题.
它还显示标题和文字.
编辑:
您正在ProgressDialog构造函数中传递ProgressDialog.STYLE_SPINNER.
从doc,第二个参数是主题id.
您将不得不创建一个ProgressDialog对象并使用setProgressStyle来ProgressDialog.STYLE_SPINNER
case DIALOG_LOOKUP:
ProgressDialog pdlg = new ProgressDialog(this);
pdlg.setProgressStyle(ProgressDialog.STYLE_SPINNER);
return pdlg;