1:单例模式使用时注意!
问题:
在MobileOA项目中,LoginPopup登录提示框工具类使用单例模式,但是在showPopupWindow
方法中针对函数的回调函数参数进行使用了单个实例存在的模式!所以在同一次登录
的多次"模糊查询用户名"显示的情况下,回调函数的实例的hashcode地址相同,但是回调函数在LoginActivity类中实现的
OnLoginItemClickListener接口的回调函数所对应的:
控件实例
edLoginName
edLoginPd
的hashcode值却是相同的,导致都是同一hashcode地址的editText控件内容赋值内容!
现象:
导致在多次切换到登录页中,使用模糊查询,提示多个用户名的提示。点击提示框条目
,但是在页面中的"用户名,密码"editText的内容就是不显示!
解决方案:
测试OnLoginItemClickListener接口实现函数中:
edLoginName
edLoginPd控件中的内容。
结果是:弹出吐司有内容,就是不显示!
应该想到edLoginName,edLoginPd的控件实例应该对象应该不一样!
针对LoginPopup工具类中的showPopupWindow函数中的OnLoginItemClickListener
参数,不应该设置"同例模式".