处理android kotlin中的click事件:setOnClickListener只有在双击时才起作用
我在DialogFragment中有一个按钮可以返回到另一个活动。 但只有双击时才能使用。 我正在用尽想法。 在我的XML文件中,我已经尝试了以下(以不同的方式组合,但没有一个工作)
我的整个片段的XML文件
至于我的DialogFragment,我试图把我的setOnClickListener放在onViewCreated()方法里面,然后放在onStart()里面和onResume()方法里面。 它只在双击时才能工作。 我也有一个计时器,让对话在10秒后消失,然后把我带到我想要的活动,所以这不是一个问题,但我真的需要并想要解决它。 如果我将计时器设置为5秒或更低,当然,它给人的印象是按钮一次点击,但实际上没有。
class PaymentDoneDialogFragment : DialogFragment() { private lateinit var mYesBtn: Button private lateinit var mActionYes: () -> Unit override fun onViewCreated(view: View, @Nullable savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) dialog.setCanceledOnTouchOutside(false) dialog.window.requestFeature(Window.FEATURE_NO_TITLE) dialog.window.setDimAmount(.85f) dialog.window.setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) dialog.setCancelable(false) dialog.setCanceledOnTouchOutside(false) dialog.window.decorView.systemUiVisibility = activity?.window!!.decorView.systemUiVisibility dialog.window.clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) mDialogTitle = view.find(R.id.tv_payment_done_title) if (mTitle != null) { mDialogTitle.text = mTitle } mYesBtn = view.find(R.id.rpv_btn_yes_payment_done) if (mYesTitle != null) { mYesBtn.text = mYesTitle } mYesBtn.setOnClickListener { if (mMessage == null) { (activity as PaymentActivity).nextScreensaverActivity() } else { mActionYes() } activity?.supportFragmentManager?.beginTransaction()?.remove(this)?.commit() } if (mMessage != null) { mMessageTextView = view.find(R.id.tv_payment_message) mMessageTextView?.text = mMessage mNoBtn = view.find(R.id.rpv_btn_no_payment_done) if (mNoTitle != null) mNoBtn.text = mNoTitle mNoBtn.visibility = View.VISIBLE mNoBtn.setOnClickListener { mActionNo() activity?.supportFragmentManager?.beginTransaction()?.remove(this)?.commit() } } }
有没有人有一些线索?
您应该从LinearLayout
子项中移除android:clickable="false"
和android:focusable="false"
- Kotlin,Java,multidex,Dagger 2,Butterknife和Realm:transformClassesWithMargingForDebug:重复条目:org / jetbrains / annotations / NotNull.class
- 我可以使从Kotlin文件生成的类的默认构造函数是私有的吗?
- Powermockito间谍和Kotlin的对象声明:不能继承最终的类
- 如何使MockWebServer工作?
- 在Kotlin中使用功能类型的功能接口
- 如何解决kotlin中通用扩展方法的签名,以解决kotlin中的“类型推断失败”
- Android Espresso IntentsMatcher适用于新设备,但不算旧
- 在Kotlin中使用基于注释的依赖注入时,哪种语法是优选的?
- 为什么我不能说:val list = properties.map((key,value) – >“$ key = $ value”)