android - ButterKnife使用异常
PHP中文网
PHP中文网 2017-04-17 16:14:12
[Android讨论组]

ButterKnife使用异常

异常信息

Error:(23, 81) 错误: @Bind fields must extend from View or be an interface. (...DemoActivity.mRecycler)

代码

    @Bind(R.id....toolbar)Toolbar mToolbar;
    @Bind(R.id...._recycler)RecyclerView.Recycler mRecycler;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout....);
        ButterKnife.bind(this);
    }

翻了下源码,该是这里的问题

if (!isSubtypeOfType(elementType, VIEW_TYPE) && !isInterface(elementType)) {

  error(element, "@%s fields must extend from View or be an interface. (%s.%s)",
      Bind.class.getSimpleName(), enclosingElement.getQualifiedName(), element.getSimpleName());
  hasError = true;
}

难道拿RecyclerView 不当View?困惑

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
大家讲道理

@Bind(R.id...._recycler)RecyclerView.Recycler mRecycler;这行代码好像有问题。
应该是@Bind(R.id...._recycler)RecyclerView mRecyclerView;

大家讲道理

@Bind(R.id...._recycler)RecyclerView.Recycler mRecycler;

这里你并不是用的RecyclerView,而是用的RecyclerView的内部类Recycler,而Recycler并没有继承自View。应该是你写错了。

怪我咯

搞了一会儿发现了,好丢人,.Recycler studio关联出来的。。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号