【发布时间】:2018-06-18 02:37:30
【问题描述】:
我在createview() 方法中有一个fragment,我设置了一个条件,如果此条件为真,则显示alertdialog 并单击其任何按钮,关闭对话框,但单击对话框的按钮时再次弹出对话框,此处是我的条件,里面有dialog:
if(getUser().isFirstTimeLogin() && getUser().getReceivedRequests().size() > 0 && getUser().getReceivedRequests().get(0).getStatus() == 0){
dialog = new AlertDialog.Builder(getActivity()).create();
LayoutInflater layoutInflater = getLayoutInflater();
View dialogView = layoutInflater.inflate(R.layout.anonymous_login_popup, null);
TextView title = (TextView) dialogView.findViewById(R.id.title);
TextView description = (TextView) dialogView.findViewById(R.id.tv_anonymous_dialog_content);
TextView okBtn = (TextView) dialogView.findViewById(R.id.okBtn);
TextView cancelBtn = (TextView) dialogView.findViewById(R.id.cancelBtn);
title.setText("Pending Request");
description.setText("Your Spouse request is pending");
okBtn.setText("Accept");
cancelBtn.setText("Reject");
Typeface tf = FontManager.getTypeface(getActivity(), FontManager.VARELA_ROUND);
FontManager.setContainerTypeface(dialogView, tf);
dialog.setView(dialogView);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation;
dialog.show();
okBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss(); acceptRejectRequest(String.valueOf(getUser().getReceivedRequests().get(0).getId()), 1);
}
});
cancelBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss(); acceptRejectRequest(String.valueOf(getUser().getReceivedRequests().get(0).getId()), 2);
}
});
}
【问题讨论】:
-
您发布的代码是否可能被调用了两次??
-
你确定已经没有两个对话框了吗?我觉得你的代码调用了两次。
-
检查两个对话框是否堆叠在一起或在您关闭对话框后立即再次弹出?
-
@Jim 我已经调试过,代码没有运行两次
-
@ADM 我已经调试过了,代码没有运行两次
标签: android android-alertdialog android-dialog