既然是是一個第三方的開發庫,讓先讓咱們把導入項目中:
Module的build.gradle文件中:git
apply plugin: 'com.jakewharton.butterknife'
dependencies { compile 'com.jakewharton:butterknife:8.6.0' annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0' }
Project的build.gradle文件中:github
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.jakewharton:butterknife-gradle-plugin:8.6.0' } }
這裏須要特殊說明一下,若是按照官方網站上面的方式導入的話,會報這個錯誤(須要升級你的Gradle插件):
To use the DSL implementation() you have to use:
因此只用按照我上面的方式導入便可。app
@BindView(R.id.tv_butter) TextView tv_butter; @BindView(R.id.et_butter) EditText et_butter; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_butter); //首先將ButterKnife注入,這行代碼要在setContentView()以後執行。 ButterKnife.bind(this); tv_butter.setText("綁定TextView"); et_butter.setText("綁定EditText"); }
@OnClick(R.id.btn_butter) public void onBtnClick(View view) { Toast.makeText(this, "btn_butter被點擊了", Toast.LENGTH_SHORT).show(); }
@BindString(R.string.app_name) String app_name; @BindColor(R.color.colorAccent) int colorAccent;
還有不少各類場景下的綁定,其實套路都同樣,這裏主要舉例三個應用場景。框架
若是你像我同樣懶的連這些代碼都不想寫的話,下面推薦一款Zelezny插件(Android Studio),這個插件會自動在佈局中查找控件的id,而後直接綁定,你說爽不爽。maven
在代碼中雙擊選中佈局ide
//經過插件生成的代碼 @BindView(R.id.tv_butter) TextView tvButter; @BindView(R.id.et_butter) EditText etButter; @BindView(R.id.btn_butter) Button btnButter;
最近我會寫不少關於Android經常使用控件的使用,裏面都是一些頗有用的知識,若是你感受有用,請給我一個star,謝謝。實例代碼佈局