android - 如何处理关闭 RadioButtonDialog
问题描述
我有这个 RadioPickerDialog:
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.dialog_radio_buttons, null);
ButterKnife.bind(this, view);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
TextView tvTitle = view.findViewById(R.id.dialog_radio_title);
tvTitle.setText(title);
builder.setView(view)
.setPositiveButton(R.string.btn_ok, (DialogInterface.OnClickListener) (dialog, which) -> {
listener.onPickerConfirmClicked(getSelectedIndex());
dialog.dismiss();
})
.setNegativeButton(R.string.btn_cancel, (DialogInterface.OnClickListener) (dialog, which) -> {
dialog.dismiss();
});
for (int i = 0; i < items.size(); i++) {
RadioButton radioButton = new RadioButton(getActivity());
T item = items.get(i);
radioButton.setText(item.toString());
radioGroup.addView(radioButton);
}
RadioButton buttonCheckedByDefault = (RadioButton) radioGroup.getChildAt(defItemNum);
buttonCheckedByDefault.setChecked(true);
return builder.create();
}
对话调用:
UiUtils.showRadioButtonPickerDialog(this, reasonList, getString(R.string.workshift_pause), 0, new RadioButtonPickerDialog.PickerListener() {
@Override
public void onPickerConfirmClicked(int selectedIndex) {
presenter.setPause(reasonList.get(selectedIndex), true);
}
}
);
我想处理未点击事件(点击非对话框或点击取消按钮)。我该怎么做?
解决方案
我找到了解决方案:
....
//When clicked negativeButton
@Override
public void onCancel(DialogInterface dialog){
dialog.dismiss();
}
//when clicked not in the dialog box
@Override
public void onDismiss(DialogInterface dialog){
dialog.dismiss();
}
推荐阅读
- acumatica - Acumatica API PO 插入错误
- python - 没有为 brewed Python 找到 Pip (3)
- dart - 使用 BehaviorSubject 的测试中的 TimeoutException - BLoC
- php - WooCommerce 产品类别页面为空白
- git - 如何使 git blame 与从一个存储库移动到另一个存储库的文件保持相关?
- docker - ElasticSearch 已在 docker 中启动并运行,但未响应请求
- azure-logic-apps - 如何使用 ARM 模板从其他资源组将新逻辑应用部署到现有 API 管理
- node.js - Next.JS - `.htaccess` 文件?
- javascript - socket.on('disconnect') 被随机触发并永远重复
- visual-studio - 在 Visual Studio (2017) 中是否可以在编辑时查看范围内的所有局部变量?