2016-04-27 8 views
1

で対応するビューをキャストして、上のクリックボタンのそれはテキストのchangeが、そのbutterknifeは、ビュー(ヌルを取得)アンドロイド:バター見つけることができませんでしナイフと私は私のテキストビューをバインドしようとしています<a href="http://jakewharton.github.io/butterknife/" rel="nofollow">documentation</a></p> <p>あたりのように、私は初めてButterKniefを使用していレイアウト

MainActivityクラス

public class MainActivity extends AppCompatActivity { 

    @BindView(R.id.text_view_butter) private TextView text; 
    static int count; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     ButterKnife.bind(this); 
     Log.d("Tag",""); 
    } 

    @OnClick(R.id.btn_butterKnife) 
    public void submit() 
    { 
     text.setText("You presed me "+count+" times"); 
    } 
} 

依存関係を見つけることさえできないため動作しない

ここで欠落しているブロックであるかもしれないものを0
dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.3.0' 
    compile 'com.jakewharton:butterknife:8.0.0' 
} 

レイアウトファイル

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.worldline.butterknifetest.MainActivity"> 

    <TextView 
     android:id="@+id/text_view_butter" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Hello World!" /> 

    <Button 
     android:id="@+id/btn_butterKnife" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="ButterKnife me" 
     android:layout_below="@+id/text_view_butter" 
     android:layout_alignParentStart="true" 
     android:layout_marginTop="77dp" /> 
</RelativeLayout> 

任意のアイデア?

+0

代わりに使用ButterKnife.bind –

+0

変更@BindViewのButterKnife.inject(この)(R.idそれを解決しました.text_view_butter)プライベートTextViewテキスト。 @InjectView(R.id.text_view_butter)TextViewテキストに変換します。 ButterKnifeはアクセス修飾子では動作しません。 –

答えて

1

は、あなたのgradle.buildファイルで(私はそれを参照してくださいscroll down toパソコンへ転送)あなたの依存関係に次の行を追加しました:

apt 'com.jakewharton:butterknife-compiler:8.0.0' 

ランタイムおよびコンパイラは今2つのアーティファクトに分割されています。

(アプリ)をbuild.gradleするためにこれを追加し、ここでhttps://github.com/JakeWharton/butterknife/blob/master/CHANGELOG.md

+0

いいえ - > compile com.jakewharton:butterknife:** 8.0.0 ** –

+0

私は答えを更新しました –

1

さらに見るには、

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 
    } 
} 

apply plugin: 'com.neenbedankt.android-apt' 

dependencies { 
    compile 'com.jakewharton:butterknife:8.0.0' 
    apt 'com.jakewharton:butterknife-compiler:8.0.0' 
} 
関連する問題

 関連する問題