android butterknife未在android Studio4.1.2中显示生成butterknife生成注射

android butterknife未在android Studio4.1.2中显示生成butterknife生成注射,android,android-studio,androidx,butterknife,Android,Android Studio,Androidx,Butterknife,我正在尝试在更新的android studio 4.1.2中使用黄油刀,但在生成选项中没有获得生成黄油刀注射 我已经添加了插件:Android ButterKnife Zelezny 建筑梯度(项目) / build.gradle(模块) 添加所有这些并重新启动android studio后,在generate中未获得butterknife注入选项,所有依赖项声明看起来都很好。请做一个干净的建设,应该解决这个问题 仅供参考,您不需要应用butterknife插件和 classpath 'com.

我正在尝试在更新的android studio 4.1.2中使用黄油刀,但在生成选项中没有获得生成黄油刀注射

我已经添加了插件:Android ButterKnife Zelezny

建筑梯度(项目) /

build.gradle(模块)


添加所有这些并重新启动android studio后,在generate中未获得butterknife注入选项,所有依赖项声明看起来都很好。请做一个干净的建设,应该解决这个问题

仅供参考,您不需要应用butterknife插件和

classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.3'
您只需要在app build.gradle中具有以下依赖项

implementation 'com.jakewharton:butterknife:10.2.3'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'

在尝试和搜索后,我发现Butterknife已被弃用,因此不会显示

生成butterknife注射

单击
R.layout.abc.xml时,从生成选项。

解决方案1

但它仍然有效,只是您必须手动声明它,如下所示

import butterknife.BindView;
import butterknife.ButterKnife;

public class MainActivity extends AppCompatActivity {
    @BindView(R.id.iv_upload)
    ImageView ivUpload;
    @BindView(R.id.textView)
    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.abc);
        ButterKnife.bind(this);
    }
}
解决方案2

作为注释中的@commonware建议,使用其他内容


是目前领先的替代产品。

请注意@commonware,那么在android studio 4.1.2中是否有任何方法可以使用它,我建议您使用其他产品,正如巴特诺夫的作者(杰克·沃顿)建议您使用其他产品一样。是当前的主要替代方案。@Commonware感谢您的帮助,找到了解决方案并查找视图绑定。感谢您的快速响应,但已经尝试了此方法,但没有发现luckDo您在控制台中看到任何错误?如前所述,当我单击R.layout.abc.xml时,在generate中没有显示generate butterknife injection。您应该看到类似的内容@BindView
implementation 'com.jakewharton:butterknife:10.2.3'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'
import butterknife.BindView;
import butterknife.ButterKnife;

public class MainActivity extends AppCompatActivity {
    @BindView(R.id.iv_upload)
    ImageView ivUpload;
    @BindView(R.id.textView)
    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.abc);
        ButterKnife.bind(this);
    }
}