我正在使用以下代码创建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;
}
}
问题是它实际上并没有设置标题,而是把它放在一些奇怪的双框中。
它给了我这个:
但我期待更像这样的事情:
有什么想法吗?
答案 0 :(得分:6)
我刚刚尝试了您的示例,似乎从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;