gpt4 book ai didi

android - 防止 ProgressDialog 被 onClick 解雇

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:09:19 25 4
gpt4 key购买 nike

我使用 ProgressDialog 向用户显示他必须等待,并在用户必须等待时使我的应用程序表面“不可触摸”。我向 progressDialog 添加了一个按钮,如果某些条件为真,它应该开始一些操作。问题是每次用户按下按钮时,progressDialog 都会自动消失。即使没有触发任何 Action 。如何防止在调用 onClick 时关闭 progressDialog?

谢谢和问候

编辑:

    connectingDialog = new ProgressDialog(this);
connectingDialog.setCancelable(false);
connectingDialog.setCanceledOnTouchOutside(false);
connectingDialog.setButton(DialogInterface.BUTTON_NEUTRAL, "start", new DialogInterface.OnClickListener(){

@Override
public void onClick(DialogInterface arg0, int arg1) {
/*if(isPrepared)
startGame();*/
connectingDialog.show(); // does not work, too
}

});
connectingDialog.show();

最佳答案

在 ProgressDialog 显示后设置 OnClickListener

与 Android 中可用的其他一些 Dialog 不同,ProgressDialog 没有 setNeutralButton() 方法,因此您需要设置onClickListener 在显示 ProgressDialog 之后,如下所示:

connectingDialog = new ProgressDialog(this);

connectingDialog.setCancelable(false);
connectingDialog.setCanceledOnTouchOutside(false);

// Create the button but set the listener to a null object.
connectingDialog.setButton(DialogInterface.BUTTON_NEUTRAL, "start",
(DialogInterface.OnClickListener) null )

// Show the dialog so we can then get the button from the view.
connectingDialog.show();

// Get the button from the view.
Button dialogButton = connectingDialog.getButton( DialogInterface.BUTTON_NEUTRAL );

// Set the onClickListener here, in the view.
dialogButton.setOnClickListener( new View.OnClickListener() {

@Override
public void onClick ( View view ) {

if (isPrepared) {
connectingDialog.dismiss();
startGame();
}

// Dialog will not get dismissed unless "isPrepared".

}

});

关于android - 防止 ProgressDialog 被 onClick 解雇,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18579030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com