我无法在Andoidx中使用ButterKnife.Action,有人可以对如何在androidx中使用ButterKnife.Action提出任何建议吗?
classpath'com.jakewharton:butterknife-gradle-plugin:9.0.0-rc2'
实现'com.jakewharton:butterknife:10.0.0' subscriptionProcessor'com.jakewharton:butterknife-compiler:10.0.0'
答案 0 :(得分:0)
我使用了最新版本的ButterKnife(10.2.1)。 请按照下列步骤操作,问题将得到解决。
//第1步:导入此行
import butterknife.Action;
//第2步:在作用域类中
butterknife.Action viewAction = new Action()
{
@Override public void apply(@NonNull View view, int index)
{
// do something.
}
};
//第3步:不推荐使用新版本的ButterKnife.apply()。替换为:
butterknife.ViewCollections.run(listView , viewAction );
答案 1 :(得分:0)
如果您迁移到AndroidX,则必须使用:
在gradle中
依赖性{
实现“ com.jakewharton:butterknife:10.2.0”
annotationProcessor“ com.jakewharton:butterknife-compiler:10.2.0”
...}
在课堂上遇到错误
如果您使用这样的代码:
ButterKnife.apply(new View [] {ivImageId,vgSubscribtionsId,vgSubscribersID},
(view, value, index) -> view.setVisibility(value), View.INVISIBLE);
替换为可用于AndroidX:
butterknife.Action viewAction =(view,index)-> {
view.setVisibility(View.INVISIBLE);
};
butterknife.ViewCollections.run(new View[]{ ivImageId,vgSubscribtionsId,vgSubscribersID} , viewAction );
答案 2 :(得分:-1)
对于androidX
,您应该使用
import butterknife.ButterKnife;
然后执行类似新的butterknife.Action<View>()
包裹名称现在为butterknife
,带有'b'
,而如果以前是'B'
我希望这会有所帮助...