gpt4 book ai didi

android - 在显示 DialogFragment 时禁用基础 View 上的触摸事件

转载 作者:太空宇宙 更新时间:2023-11-03 12:50:49 26 4
gpt4 key购买 nike

我有一个 PreferenceFragment,当我设置所有需要的东西时,我会显示一个 DialogFragment 信号加载进度。问题是,如果我点击底层 fragment 中的首选项元素,点击事件仍在处理中。

有没有办法在我的 DialogFragment 显示时禁用事件?

我的 DialogFragment 是从 PreferenceFragment 本身构建和启动的:

 final DialogFragment fragment = new DialogFragment() {
@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
final Dialog dialog = new AlertDialog.Builder(getActivity())
.setTitle(R.string.dialog_hide_user_title)
.setMessage(R.string.dialog_hide_user_summary)
.setPositiveButton(R.string.dialog_hide_user_confirm_button, new DialogInterface.OnClickListener() {
@Override
public void onClick(final DialogInterface dialogInterface, final int i) {
callback.onPositiveClick();
}
})
.setNegativeButton(R.string.cancel_button, new DialogInterface.OnClickListener() {
@Override
public void onClick(final DialogInterface dialogInterface, final int i) {
callback.onNegativeClick();
}
})
.create();
dialog.setCanceledOnTouchOutside(false);
return dialog;
}
};
fragment.show(getFragmentManager(), "test");

最佳答案

尝试

setCancelable(false);
dialog.setCanceledOnTouchOutside(false);

希望这有帮助:)

完整代码:

final DialogFragment fragment = new DialogFragment() {
@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
final Dialog dialog = new AlertDialog.Builder(getActivity())
.setTitle(R.string.dialog_hide_user_title)
.setMessage(R.string.dialog_hide_user_summary)
.setPositiveButton(R.string.dialog_hide_user_confirm_button, new DialogInterface.OnClickListener() {
@Override
public void onClick(final DialogInterface dialogInterface, final int i) {
callback.onPositiveClick();
}
})
.setNegativeButton(R.string.cancel_button, new DialogInterface.OnClickListener() {
@Override
public void onClick(final DialogInterface dialogInterface, final int i) {
callback.onNegativeClick();
}
})
.create();
setCancelable(false);
dialog.setCanceledOnTouchOutside(false);
return dialog;
}
};
fragment.show(getFragmentManager(), "test");

关于android - 在显示 DialogFragment 时禁用基础 View 上的触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31793099/

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