我已经使用ButterKnife两年了,但是最近我在Android 8上遇到了问题。当我处于活动A中时,我启动了活动B并完成了活动B,然后启动了活动B并一次又一次地完成了活动B。有时所有活动中的@OnClick不再起作用。真的很奇怪,因为它仅发生在某些设备中,例如诺基亚X6(Android 8.1),小米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
}
}
有人可以帮忙吗?预先感谢!
答案 0 :(得分:0)
我找到了原因:
在活动B中,我有mHandler.postDelayed(mRunnable, 2000)
,如果我快速完成活动B(<2000ms),这将导致ButterKnife @OnClick停止工作。
所以我放了mHandler.removeCallbacksAndMessages(null)
,一切正常!
您可以在此处查看问题:Issue