ButterKnife使用异常

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?困惑
阅读 6.3k
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关联出来的。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题