Java 在Android Studio中导入Butterknife后注释@InjectView不起作用?
最近刚遇到巴特刀。我在gradle(module:app)文件中添加了以下行: 编译'com.jakewharton:butterknife:7.0.1'Java 在Android Studio中导入Butterknife后注释@InjectView不起作用?,java,android,android-studio,annotations,butterknife,Java,Android,Android Studio,Annotations,Butterknife,最近刚遇到巴特刀。我在gradle(module:app)文件中添加了以下行: 编译'com.jakewharton:butterknife:7.0.1' 它同步时没有任何错误。我可以将“butterknife.butterknife”导入到我的类文件中,导入通常会在其中进行。但是不能导入butterknife.InjectView似乎不存在?有什么建议吗?显然@InjectView已被@Bind取代 此外,您还必须调用ButterKnife.bind(this) 请参阅:Butterknife
它同步时没有任何错误。我可以将“butterknife.butterknife”导入到我的类文件中,导入通常会在其中进行。但是不能导入butterknife.InjectView似乎不存在?有什么建议吗?显然
@InjectView
已被@Bind
取代
此外,您还必须调用ButterKnife.bind(this)在您的onCreate()
中的code>
请参阅:Butterknife 7.0.0版本包括注释动词重命名的突破性更改。这在变更日志中突出显示,并反映在网站上
Version 7.0.0 *(2015-06-27)*
----------------------------
* `@Bind` replaces `@InjectView` and `@InjectViews`.
* `ButterKnife.bind` and `ButterKnife.unbind` replaces `ButterKnife.inject`
and `ButterKnife.reset`, respectively.
...
一个非常好的、最新的用法介绍在
以下是最简单的用法:
class ExampleActivity extends Activity {
@Bind(R.id.title) TextView title;
@Bind(R.id.subtitle) TextView subtitle;
@Bind(R.id.footer) TextView footer;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_activity);
ButterKnife.bind(this);
// TODO Use fields...
}
}
@InjectView
不再可用,已被@bindwiew
取代。我们必须导入Butterknife
依赖项才能使用注释。更多关于黄油刀的信息:
@BindView
注释可以实现为:-
@BindView(R.id.button_id)
注意,您需要调用ButterKnife.bind(this)代码>来自主活动的onCreate()
方法,以启用Butterknife注释。此实现的示例可能类似于:-
public class MainActivity extends AppCompatibilityActivity{
@BindView(R.id.editText_main_firstName)
EditText firstName;
@BindView(R.id.editText_main_lastName)
EditText lastName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Needs to be called to enable Butterknife annotations
ButterKnife.bind(this);
}
}
如果在片段中使用Butterknife
,则使用Butterknife.bind(此,视图)
作为片段视图的视图,即:-
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_other_product_category, container, false);
ButterKnife.bind(this, view);
return view;
}
你能给代码plzdid显示你绑定了活动吗?没有代码…我不能导入butterknife.InjectView来使用注释@InjectView看看这个