TDialog icon indicating copy to clipboard operation
TDialog copied to clipboard

setCancelable(false)之后 下面的button也跟着 失效了 立即升级和稍后升级也用不了了

Open dubianjie opened this issue 7 years ago • 9 comments

.setCancelable(false)之后 下面的button也跟着 失效了 立即升级和稍后升级也用不了了

dubianjie avatar Jan 19 '18 08:01 dubianjie

setCancelable()方法的功能就是设置弹窗是否可以取消,设置了false会将内部空间的点击事件屏蔽

Timmy-zzh avatar Jan 19 '18 10:01 Timmy-zzh

感谢提问,在代码中修改文字内容,可使用方法 setOnBindViewListener(new OnBindViewListener() { @Override public void bindView(BindViewHolder bindViewHolder) { bindViewHolder.setText(R.id.tv_content, "abcdef"); bindViewHolder.setText(R.id.tv_title, "我是Title"); } })

Timmy-zzh avatar Jan 20 '18 03:01 Timmy-zzh

但是 这样的话 程序就死掉了啊 没有办法让dialog 小时 dissmiss 哎 又不能返回

dubianjie avatar Jan 20 '18 04:01 dubianjie

create()方法和show()方法都可以拿到TDialog的实例对象, 可以调用tDialog.dismiss()方法隐藏弹窗,具体可参考效果图第四种加载取消情况

Timmy-zzh avatar Jan 20 '18 05:01 Timmy-zzh

setCancelable()方法的功能就是应该是设置针对返回键的,不应该是针对弹窗的一些自定义事件的(比如我需要定义一些其他动作,你这样写统统屏蔽了),个人认为这段代码设计不太合理了。

//控件点击事件处理 BindViewHolder viewHolder = new BindViewHolder(view, this); if (tController.isCancelable() && tController.getIds() != null && tController.getIds().length > 0) { for (int id : tController.getIds()) { viewHolder.addOnClickListener(id); } }

gudujiucheng avatar Mar 10 '18 03:03 gudujiucheng

如果setCancelable(false)之后, View内部控件的点击事件全部屏蔽, 返回键也跟着屏蔽, 然后程序就固定在此处, 我是想想不到这样的使用场景... 大佬泥这样设计的意图究竟何在啊?

mayangyang-github avatar Apr 24 '18 03:04 mayangyang-github

@mayangyang-github 大佬不更新,用着各种不顺手

zwping avatar May 28 '18 07:05 zwping

希望大佬能把这种模式改成屏蔽dialog以外区域和返回键的点击事件,要不然dialog的按钮都点不了,这功能就很鸡肋啊!

bairenxing avatar Jun 06 '18 07:06 bairenxing

2.0版本已取消该方法,请升级使用

Timmy-zzh avatar Jul 10 '18 05:07 Timmy-zzh