【发布时间】:2014-06-11 06:51:19
【问题描述】:
我想在用户单击 AlertDialog 上的“确定”按钮时显示 ProgressDialog。但是使用我当前的代码,ProgressDialog 根本不显示。此外,AlertDialog 应该在按钮单击后关闭,并且应该显示 ProgressDialog。现在,AlertDialog 在单击按钮后消失,但不显示 ProgressDialog
这是我的代码:-
case R.id.btnAddComms:
scrollNews.fullScroll(v.FOCUS_DOWN);
btnAddComms.setPressed(true);
AlertDialog.Builder builder = new AlertDialog.Builder(NewsDetails.this);
builder.setTitle("Post");
builder.setIcon(R.drawable.post);
final EditText input1 = new EditText(NewsDetails.this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
input1.setLayoutParams(lp);
builder.setView(input1);
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
postedComment = input1.getText().toString();
if(postedComment.length()>0)
{
dialog.dismiss();
ProgressDialog pd = new ProgressDialog(NewsDetails.this);
pd.setMessage("test");
pd.show();
pd.setCancelable(true);
PostComments(postedComment);
pd.dismiss();
}
else
{
Toast.makeText(NewsDetails.this, "Please enter a comment.", Toast.LENGTH_LONG).show();
input1.findFocus();
}
}
.setCancelable(false);
alert = builder.create();
alert.setCanceledOnTouchOutside(true);
alert.show();
break;
关于如何做到这一点的任何想法。
【问题讨论】:
-
您在单击按钮后立即关闭进度对话框。我不知道 PostComments 在做什么,但你应该做一些解决方法。我认为对话框应该在 PostComment 执行后关闭,对吧?就像你做的一样,pd.close() 不会等到 PostComments 被执行
-
@Opiatefuchs Iam 取消了
dialog,即 ALertDialog。 PostComments 正在进行 API 调用 -
尝试删除
pd.dismiss(); -
不,你没有。首先,您使用 dialog.dismiss() 关闭 alertDialog。这是正确的,但最后,您编写了 pd.dismiss()。 pd 是你的 ProgressDialog
-
dialog.dismiss();在 pd.dismiss() 之后给出;所以你的代码是 ProgressDialog pd = new ProgressDialog(NewsDetails.this); pd.setMessage("测试"); pd.show(); pd.setCancelable(true);发表评论(postedComment); pd.dismiss(); dialog.dismiss();
标签: android android-alertdialog progressdialog