Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android studio ButterKnife8.1.0空指針/相關配置及其簡單使用,butterknife空指針

Android studio ButterKnife8.1.0空指針/相關配置及其簡單使用,butterknife空指針

編輯:關於android開發

Android studio ButterKnife8.1.0空指針/相關配置及其簡單使用,butterknife空指針


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 belong
11         // in the individual module build.gradle files
12     }
13 }
14 
15 allprojects {
16     repositories {
17         jcenter()
18     }
19 }
20 
21 task clean(type: Delete) {
22     delete rootProject.buildDir
23 }

 

 

 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 14
10         targetSdkVersion 23
11         versionCode 1
12         versionName "1.0"
13     }
14     buildTypes {
15         release {
16             minifyEnabled false
17             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的綁定方法是@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(),代碼變得更簡潔明了 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved