Android(安卓)butterknife注入完毕后不起作用
16lz
2021-01-24
Android studio上安装最新版'com.jakewharton:butterknife-compiler:8.8.0',并且成功给layout注入控件后不起作用,onclick事件无反应。配置如下
app/builder.gradle:
compile 'com.jakewharton:butterknife:8.8.0'annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.0'
另外配置butterknife也很坑,除了在File->Setting->Plugins中搜索butterknife安装,还需要在File->Project Structure->app->Dependencies->右上角+号->Library Dependency搜索添加com.jakewharton:butterknife-compiler才可以,其他方法很多都有问题。 依赖注入的代码:
@BindView(R.id.iv_user_head) public ImageView ivUserHead; @BindView(R.id.rl_celebrity) public RelativeLayout rlCelebrity; @BindView(R.id.rl_search_face) RelativeLayout rlSearchFace; @BindView(R.id.rl_my_selfie) RelativeLayout rlMySelfie; @BindView(R.id.rl_address) RelativeLayout rlAddress; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View myView = inflater.inflate(R.layout.fragment_my, container, false); unbinder = ButterKnife.bind(this, myView); return myView; } @OnClick({R.id.iv_user_head, R.id.rl_celebrity, R.id.rl_search_face, R.id.rl_my_selfie, R.id.rl_address}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.iv_user_head: showToast(getActivity(),"我的"); break; case R.id.rl_celebrity: ActivityHelper.jumpNoFinish(getActivity(), MyCeleListActivity.class); break; case R.id.rl_search_face: showToast(getActivity(),"图塔"); break; case R.id.rl_my_selfie: showToast(getActivity(),"自评"); break; case R.id.rl_address: break;}}
onClick事件无反应。
搜了很多原因。buil.gradle中改Butterknife的配置,到Butterknife的官网按照官网的说明文档去配置,也不行。
后来改了butterknife的版本号,改成比较老的版本,如8.4.0,onclick事件起了作用。看来是最新版本的问题。
更多相关文章
- Android(安卓)布局之GridLayout
- android之switch控件的用法
- Android(安卓)EditText 自定义带删除按钮
- Android(安卓)Design Support Library(2)- TextInputLayout的使用
- Android(安卓)popupWindow响应back按键并关闭
- 系出名门Android(6) - 控件(View)之DatePicker, TimePicker, Tog
- android mContainer.setPersistentDrawingCache (int drawingCac
- 如何分析解决Android(安卓)ANR
- Android错误之控件FloatingActionButton