gpt4 book ai didi

java - 对话框从其他 Activity 中关闭

转载 作者:行者123 更新时间:2023-12-02 02:19:13 27 4
gpt4 key购买 nike

我正在使用警报对话框的方法类并从其他 Activity 中显示它。示例我有方法类,其中有这样的警报对话。

public void showDialog(){
final Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setCancelable(false);
dialog.setContentView(R.layout.dialog);
RelativeLayout but_buy = dialog.findViewById(R.id.but_buy);
RelativeLayout but_exit = dialog.findViewById(R.id.but_exit);
but_exit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
((Activity) context).finish();

}
});
but_buy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intentSettingsnew = new Intent(context, SettingsActivity.class);
context.startActivity(intentSettingsnew);

}
});
dialog.show();

}

并在 HomeActivity 中调用它,例如

methods.showDialog();

但是当用户离开该 Activity 时,我想将其从家庭 Activity 中关闭。如果有人可以建议我该怎么做,请告诉我。

谢谢

最佳答案

因此,您可以将Dialog class声明为类变量,如下所示:-

Dialog dialog;
public void showDialog(){
dialog = new Dialog(context);
dialog.show();
}

然后每当你想关闭它时只需调用 stopDialog 方法:-

public void stopDialog(){
if(dialog != null) {
dialog.dismiss();
dialog = null;
}
}

您可以检查您的顶部可见 fragment 并获取实例。如果实例是您的对话框,则将其关闭

关于java - 对话框从其他 Activity 中关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48760037/

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