ButterKnife有时会在Android 8.x上停止工作

时间:2018-09-20 03:49:55

标签: android butterknife

我已经使用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
    }
}

有人可以帮忙吗?预先感谢!

1 个答案:

答案 0 :(得分:0)

我找到了原因: 在活动B中,我有mHandler.postDelayed(mRunnable, 2000),如果我快速完成活动B(<2000ms),这将导致ButterKnife @OnClick停止工作。

所以我放了mHandler.removeCallbacksAndMessages(null),一切正常!

您可以在此处查看问题:Issue