Когда я пытаюсь связать свои взгляды с Butterknife, я получаю это IllegalStateException
после каждого вызова ButterKnife.bind(this, fragmentView!!)
метода.
Например:
//...BindView section
@BindView(R.id.logoutButton)
lateinit var logoutButton: View
@BindView(R.id.closeSession)
lateinit var closeSessionButton: View
@BindView(R.id.settings)
lateinit var settingsButton: View
И я получаю это:
java.lang.IllegalStateException: Требуется логин просмотра с идентификатором 2131362018 для выхода из поля. Кнопка не найдена.Если это представление является необязательным, добавьте аннотацию @Nullable (поля) или @Optional (методы).
Дело в том, что я не связывал представление 'login', как говорит исключение.Я ограничил «LogutButton».У меня действительно было представление «логин», но в другом фрагменте, который не имеет никакого отношения к фрагменту, где появляется исключение.
И это происходит в каждом фрагменте, действии или адаптере или чем-то еще, что требует связывания представлений с помощью butterknife.,И каждый раз, когда Butterknife пытается связать, абсолютно случайное представление для поля, которое идет первым в порядке объявления (затрагивается только первая @BindView
аннотация, следующая аннотация в порядке)
Я использую аннотацию @Nullable
и это помогает отлично (даже после того, как я удалил @Nullable
аннотацию - фрагмент работает отлично).Но у меня есть много фрагментов и действий, поэтому я не могу проверить их все и добавить аннотацию @Nullable
.
Как найти источник этой проблемы, чтобы она никогда больше не повторялась