美文网首页
自定义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