美文网首页
自定义View时,使用id值的正确姿势

自定义View时,使用id值的正确姿势

作者: 已迁至知乎_此不再维护 | 来源:发表于2019-03-08 10:42 被阅读0次
正确姿势.jpg

假设:

  1. 存在继承自View的自定义控件CView;
  2. 存在继承自ViewGroup的自定义控件CViewGroup;
  3. CViewGroup的layout文件里包含了控件CView——即CView[of CViewGroup]
  4. 页面P的layout文件中同时使用了CViewGroup和CView——即CView[of P];

那么:

  1. CView[of CViewGroup]和CView[of P]的id不能相同;
  2. 在页面P中,若id相同,且CViewGroup先于CView布局,且对CView注册监听;
  3. 则点击CView[of P]的时候不会触发监听,而点击CView[of CViewGroup]的时候会触发监听。

因此:

  1. 为了避免上述问题,自定义View的时候:内部控件的id应以宿主类名开头!

相关文章

网友评论

      本文标题:自定义View时,使用id值的正确姿势

      本文链接:https://www.haomeiwen.com/subject/qgblpqtx.html