У меня есть кнопка активности, на которой я открываю свой собственный диалог, вызывая этот метод
public void openHcoDialog(View v) {
HcoDialog hcoDiag = new HcoDialog();
// Supply cityCode input as an argument.
Bundle args = new Bundle();
args.putString("cityCode", cityCode);
hcoDiag.setArguments(args);
hcoDiag.show(getSupportFragmentManager(), "hco dialog");
}
И внутри этого класса HcoDialog я расширил DialogFragment как
public class HcoDialog extends DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.hco_dialog, null);
builder.setView(view);
builder.setCancelable(true);
builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
Toast.makeText(getActivity(), "Toast 1", Toast.LENGTH_LONG).show();
progressDialog.dismiss();
}
});
builder.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
Toast.makeText(getActivity(), "Toast 2", Toast.LENGTH_LONG).show();
progressDialog.dismiss();
}
});
}
Итак, когда я закрываю диалоговое окно, щелкнув за пределами или нажав кнопку назад, диалоговое окно закрывается, но progressDialog продолжает работать как onDismiss или onCancel никогда не вызывается?
Я пытаюсь решить эту проблему уже час. Прочитал много ответов stackoverflow, но, похоже, ни один из них не работает.
Заранее спасибо.