Android studio ButterKnife8.1.0null 指標/相關配置及其簡單使用,butterknifenull 指標

來源:互聯網
上載者:User

Android studio ButterKnife8.1.0null 指標/相關配置及其簡單使用,butterknifenull 指標
ButterKnife 是這兩年比較流行的開源庫,是一個View注入架構,其主要功能是代替findViewByid()方法。同時還能夠快速的添加監聽事件,能夠更容易的實現MVVM模式,是非常實用的工具之一。

 

剛開始使用ButterKnife的時候很多人可能會遇到NullPointerException或者“找不到符號”,這皆是由於ButterKnife配置有誤。下面我們來詳細的來說明ButterKnife的配置

 

首先我們需要匯入ButterKnife

 

也可以在這裡添加

 

同時還需要安裝ButterKnife的外掛程式

這裡我已經安裝好了,看起來有一些不同。沒安裝的時候先搜尋然後點下面的按鈕就會出來了

 

然後配置

 

 

 

注意,這裡如果沒有完成上面安裝外掛程式的步驟會無法識別apt()

 

還不理解的話,下面就貼出完整的build.gradle吧

 1 // Top-level build file where you can add configuration options common to all sub-projects/modules. 2  3 buildscript { 4     repositories { 5         jcenter() 6     } 7     dependencies { 8         classpath 'com.android.tools.build:gradle:2.1.0' 9         classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'10         // NOTE: Do not place your application dependencies here; they belong11         // in the individual module build.gradle files12     }13 }14 15 allprojects {16     repositories {17         jcenter()18     }19 }20 21 task clean(type: Delete) {22     delete rootProject.buildDir23 }

 

 

 1 apply plugin: 'com.android.application' 2  3 android { 4     compileSdkVersion 23 5     buildToolsVersion "23.0.3" 6  7     defaultConfig { 8         applicationId "com.lcc.fjnu.damuvideobysohu" 9         minSdkVersion 1410         targetSdkVersion 2311         versionCode 112         versionName "1.0"13     }14     buildTypes {15         release {16             minifyEnabled false17             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'18         }19     }20 }21 22 buildscript {23     repositories {24         mavenCentral()25     }26     dependencies {27         classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'28     }29 }30 31 apply plugin: 'com.neenbedankt.android-apt'32 33 dependencies {34     compile fileTree(include: ['*.jar'], dir: 'libs')35     testCompile 'junit:junit:4.12'36     compile 'com.android.support:appcompat-v7:23.3.0'37     compile 'com.android.support:design:23.3.0'38     compile 'com.jakewharton:butterknife:8.1.0'39     apt 'com.jakewharton:butterknife-compiler:8.1.0'40 }

 

 以上就是配置的過程

再說一點ButterKnife8.1.0的Binder 方法是@BindView 之前的版本是@Bind,再之前是@InjectView.

具體的說明可以參照其官網(未牆) http://jakewharton.github.io/butterknife/

這裡會給出一個簡單的範例:

 1 public class MainActivity extends AppCompatActivity { 2  3     @BindView(R.id.toolbar) 4     Toolbar mToolbar; 5     @BindView(R.id.tabs) 6     TabLayout mtabs; 7     @BindView(R.id.appbar) 8     AppBarLayout mappbar; 9     @BindView(R.id.container)10     ViewPager container;11     @BindView(R.id.fab)12     FloatingActionButton fab;13 ......}

 

不需要重新執行個體化以及findviewbyid(),代碼變得更簡潔明了 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.