ButterKnife иногда перестает работать на Android 8.x

Я использую ButterKnife в течение 2 лет, но недавно у меня возникла проблема с Android 8. Когда я нахожусь в Activity A, я запускаю Activity B и заканчиваю Activity B, затем начинаю Activity B и заканчиваю Activity B снова и снова. Иногда @OnClick во всех действиях больше не работает. Это действительно странно, потому что это просто происходит на некоторых устройствах, таких как Nokia X6 (Android 8.1), Xiaomi Note 5 (Android 8.1), и его действительно трудно воспроизвести.

// This function is not called anymore
@OnClick({R.id.btn1, R.id.btn2})       
public void onViewClick(View v) {
    switch (v.getId()) { 
       // Handle clicks
    }
}

Кто-нибудь может помочь? Заранее спасибо!

@Vishal В выпуске apk тоже есть эта проблема

Liar 20.09.2018 06:12
0
1
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я нашел причину: В действии B у меня есть mHandler.postDelayed(mRunnable, 2000), и если я быстро завершу действие B (<2000 мс), это приведет к тому, что ButterKnife @OnClick перестанет работать.

Вот и поставил mHandler.removeCallbacksAndMessages(null) и все работает хорошо!

Вы можете проверить проблему здесь: Проблема

Другие вопросы по теме