Я включил ButterKnife.setDebug(BuildConfig.DEBUG)
Происходит то, что классы, которые всегда работали, теперь не могут найти привязки для представлений. После вызова ButterKnife.bind(this);
представление по-прежнему равно нулю, и когда я проверяю журналы, я вижу следующее:
16401-16401 D/ButterKnife: Looking up binding for com.mobile.myapp.presentation.view.controllers.login.activities.WelcomeActivity
16401-16401 D/ButterKnife: Not found. Trying superclass com.mobile.myapp.presentation.view.base.myappBaseMvpActivity
16401-16401 D/ButterKnife: Not found. Trying superclass com.hannesdorfmann.mosby.mvp.MvpActivity
16401-16401 D/ButterKnife: Not found. Trying superclass android.support.v7.app.AppCompatActivity
16401-16401 D/ButterKnife: MISS: Reached framework class. Abandoning search.
Поэтому я подумал, что это может быть зависимость процессора аннотаций. Я добавил следующее в каждый модуль:
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
Но все та же проблема, и никакие представления не получают привязок, там ноль. Я понимаю, что могу переключиться на Kotlin, но у меня есть много классов на Java, и я предпочитаю связываться с помощью Butterknife. Что мне не хватает. Эти проблемы возникают во время выполнения.
Вот пример класса с нулевой привязкой:
public class WelcomeActivity extends myappBaseMvpActivity<WelcomeView, WelcomePresenter> implements WelcomeView {
@Nullable
@BindView(R.id.btn_showlogin)
Button btn_login; //this is null
@Nullable
@BindView(R.id.pager)
ViewPager mViewPager; //this is null, why ?
@Override
protected void onResumeFragments() {
super.onResumeFragments();
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
ButterKnife.bind(this);
mViewPager.setAdapter(new WelcomeIntroPagerAdapter(getSupportFragmentManager()));
}
//...
}
ОБНОВЛЕНИЕ: Я ПРЕОБРАЗОВАЛ СВОЙ КОД В KOTLIN, ЧТОБЫ РЕШИТЬ ТАКИЕ ПРОБЛЕМЫ, НО ВСЕ ЕЩЕ ХОЧУ ЗНАТЬ, ПОЧЕМУ МАСЛЯНЫЙ НОЖ НЕ РАБОТАЕТ.
apply plugin: 'com.jakewharton.butterknife'
в соответствующие модули? - person reVerse   schedule 17.04.2018