搜尋

首頁  >  問答  >  主體

android - 使用butterknife,不能编译通过

package com.aa.safe.safehei.activities;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;

import com.aa.safe.safe.R;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class DogActivity extends AppCompatActivity {


    @BindView(R.id.tv_islocked_notselect)
    TextView mTvIslockedNotselect;
    @BindView(R.id.tv_islocked_select)
    TextView mTvIslockedSelect;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_dog);
        ButterKnife.bind(this);
    }

}

使用butterknife后
在app/build/generated/source/apt/debug/包名/DogActivity$$ViewBinder
下提示报错

import butterknife.internal.Finder;
import butterknife.internal.ViewBinder;

提示这二个类找不到,我看了下的确是没有的

messages 窗口也提示找不到符号........

ringa_leeringa_lee2773 天前496

全部回覆(3)我來回復

  • ringa_lee

    ringa_lee2017-04-17 17:58:35

        @Bind(R.id.drawer_layout)
        DrawerLayout drawerLayout;
        @Bind(R.id.nav_view)
        NavigationView navigationView;
        @Bind(R.id.toolbar)
        Toolbar toolbar;
        @Bind(R.id.main_container)
        FrameLayout mainContainer;
        ActionBarDrawerToggle mActionBarDrawerToggle;
        FragmentManager fragmentManager;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ButterKnife.bind(this);
            ···
            }

    你用的什麼版本啊,7.0.1是這樣的

    compile 'com.jakewharton:butterknife:7.0.1'

    回覆
    0
  • 黄舟

    黄舟2017-04-17 17:58:35

    butterknife不能在librarie專案中使用,不知道你是不是這個情況、

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 17:58:35

    我用的8.1.0的版本需要在gradle裡面加上apt 'com.jakewharton:butterknife-compiler:8.1.0'
    是用來進行預編譯的,不知道7.0是不是需要

    回覆
    0
  • 取消回覆