gpt4 book ai didi

android - 如何禁用外部触摸以隐藏 DialogPreference

转载 作者:太空狗 更新时间:2023-10-29 16:42:06 25 4
gpt4 key购买 nike

我正在开发自定义 DialogPreference。

当用户在对话框外单击时,它会被取消,我需要避免这种情况。

我知道 Dialog 有方法 setCanceledOnTouchOutside(boolean cancel) 那是我需要的,但 DialogPreference 不是。

onBindDialogView 我尝试:

getDialog().setCanceledOnTouchOutside(true);

但是 getDialog() 返回 null

我该怎么办?有人可以帮助我吗?

这是我的课:

public class UpdatePreference extends DialogPreference implements View.OnClickListener{


public UpdatePreference(Context context, AttributeSet attrs) {
super(context, attrs);
setPersistent(false);
setDialogLayoutResource(R.layout.update_dialog_layout);
setPositiveButtonText("");
setNegativeButtonText("");
}

@Override
protected void onBindDialogView(View view) {
super.onBindDialogView(view);
//init my components
}

@Override
protected void onDialogClosed(boolean positiveResult) {
super.onDialogClosed(positiveResult);

}

}

最佳答案

您可以在显示对话框之前访问 AlerDialog.Builder。您可以在那里指定 builder.setCancelable(false)。可能通过这种方式你可以实现欲望行为。

@Override
protected void onPrepareDialogBuilder(Builder builder) {
super.onPrepareDialogBuilder(builder);
builder.setCancelable(false);
}

关于android - 如何禁用外部触摸以隐藏 DialogPreference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16085740/

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