Java 为什么可以';Butterknife在匿名类中找不到视图持有者吗?

Java 为什么可以';Butterknife在匿名类中找不到视图持有者吗?,java,android,butterknife,Java,Android,Butterknife,我有一个带有匿名基本适配器的列表视图: final ListView myList = (ListView) getActivity().findViewById(R.id.my_list); myList.setAdapter(new BaseAdapter() { 在匿名类中,我有一个视图持有者: class ViewHolder { @InjectView(R.id.textField) TextView text; public ViewHolder(View vie

我有一个带有匿名
基本适配器的
列表视图

final ListView myList = (ListView) getActivity().findViewById(R.id.my_list);
myList.setAdapter(new BaseAdapter() {
在匿名类中,我有一个视图持有者:

class ViewHolder {
    @InjectView(R.id.textField) TextView text;

    public ViewHolder(View view) {
        ButterKnife.inject(this, view);

        if (text == null) {
            text = (TextView)view.findViewById(R.id.textField);
        }
    }
}

设置断点可确认:Butterknife始终保留
文本
字段
null
,但直接调用
findViewById
可以正常工作。如果我将
ViewHolder
类移出匿名类,使其成为我的主类的成员,Butterknife工作正常。有人能解释为什么吗?

尝试将ViewHolder声明为:
静态类ViewHolder
我的直觉是,由于它是一个匿名类,ButterKnife不知道如何命名生成的类,因此它跳过了它。谢谢Stephan,这很有意义。