单例模式产生的现象

1:单例模式使用时注意!

   问题:
      在MobileOA项目中,LoginPopup登录提示框工具类使用单例模式,但是在showPopupWindow
      方法中针对函数的回调函数参数进行使用了单个实例存在的模式!所以在同一次登录
      的多次"模糊查询用户名"显示的情况下,回调函数的实例的hashcode地址相同,但是回调函数在LoginActivity类中实现的
      OnLoginItemClickListener接口的回调函数所对应的:
           控件实例
       edLoginName
       edLoginPd
    的hashcode值却是相同的,导致都是同一hashcode地址的editText控件内容赋值内容!


   现象:
      导致在多次切换到登录页中,使用模糊查询,提示多个用户名的提示。点击提示框条目
      ,但是在页面中的"用户名,密码"editText的内容就是不显示!


   解决方案:
      测试OnLoginItemClickListener接口实现函数中:
           edLoginName
           edLoginPd控件中的内容。

      结果是:弹出吐司有内容,就是不显示!


      应该想到edLoginName,edLoginPd的控件实例应该对象应该不一样!
      针对LoginPopup工具类中的showPopupWindow函数中的OnLoginItemClickListener
      参数,不应该设置"同例模式".

猜你喜欢

转载自zhangyang520.iteye.com/blog/2300670