我试图在AlertDialog的onClick事件中显示ProgressDialog,代码可以正常工作,但ProgressDialog似乎被卡在AlertDialog后面,这就失败了
public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Title").setMessage("Message").setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
ProgressDialog pd = ProgressDialog.show(MainActivity.this, "Title", "Text", true, false);
答案 0 :(得分:0)
这种做法怎么样?
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Title").setMessage("Progress?");
builder.setPositiveButton("Yes", new OnClickListener() {
@Override
public void onClick(DialogInterface alertDialog, int which) {
// TODO Auto-generated method stub
alertDialog.dismiss();
showProgressDlg();
}
});
builder.show();
public void showProgressDlg()
{
ProgressDialog pDialog = new ProgressDialog(context);
//All pd properties...
}
答案 1 :(得分:0)
老帖子,但我今天早上得到了这个问题。
我试图把它放在this.runOnUiThread(...)
但不起作用。
我尝试使用this
/ MyActivity.this
的副本,但没有'。
技巧(我不明白原因):制作ProgressDialog
类属性,不要从AlertDialog onClick
调用的方法中定义它。
private ProgressDialog pDialog;
我的情况与你的情况完全一致,现在可行了。 也许它会帮助别人。