AlertDialog使用xml自定义弹窗不显示、输入框不能输入问题解决(kotlin)

一、弹窗不显示解决方法

1、获取mView:mView = LayoutInflater.from(mContext).inflate(R.layout.dialog, null, false)

2、自定义弹窗使用setContentView()而不能使用setView()

3、dialog?.setContentView(mView)必须放在 dialog?.show()方法后面

二、输入框不能输入内容解决方法

1、使用以下三行代码

window?.clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) window?.clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM) window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE)

2、同样,这三行代码必须放在dialog?.show()之后

附:

1、dialog不允许点击返回键退出:dialog?.setCancelable(false)

2、dialog不允许点击弹窗以外部分:dialog?.setCanceledOnTouchOutside(false)

你可能感兴趣的:(AlertDialog使用xml自定义弹窗不显示、输入框不能输入问题解决(kotlin))