最近有个需求是做个分享功能,将数据生成二维码展示出来,我就想做个自定义的dialog来展示
运行点击按钮弹出二维码dialog,点击空白处dialog取消后,奇怪的一点就是界面上按钮全都没反应了
百度了一下没找到问题,最后解决问题如下
1 源代码如下
class MainActivity : BaseActivity(),View.OnClickListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
layDoubleIdle.setOnClickListener(this)
}
override fun onClick(view: View) {
if (!checkOPenStatus()) {
return
}
when (view.id) {
R.id.layDoubleIdle -> openDoubleIdleActivity(0)
}
}
2 修改后的代码如下
class MainActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
layDoubleIdle.setOnClickListener {
openDoubleIdleActivity(0)
}
}
问题解决,原因不明
还有个小细节注意:onCreate方法在show之后才运行,所以赋值要放在onCreate之后调用,不然控件为null会报错 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setImageBitmap(android.graphics.Bitmap)' on a null object reference