ButterKnife 有时会在 Android 8.x 上停止工作
ButterKnife sometimes stops working on Android 8.x
我用ButterKnife已经2年了,但是最近我在Android 8上遇到了问题。当我在Activity A时,我开始Activity B并完成Activity B,然后开始Activity B,然后周而复始地完成Activity 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
}
}
有人能帮忙吗?提前致谢!
我找到原因了:
在 Activity B 中,我有 mHandler.postDelayed(mRunnable, 2000)
,如果我快速完成 Activity B(< 2000 毫秒),这将导致 ButterKnife @OnClick 停止工作。
所以我输入 mHandler.removeCallbacksAndMessages(null)
一切正常!
您可以在此处查看问题:Issue
我用ButterKnife已经2年了,但是最近我在Android 8上遇到了问题。当我在Activity A时,我开始Activity B并完成Activity B,然后开始Activity B,然后周而复始地完成Activity 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
}
}
有人能帮忙吗?提前致谢!
我找到原因了:
在 Activity B 中,我有 mHandler.postDelayed(mRunnable, 2000)
,如果我快速完成 Activity B(< 2000 毫秒),这将导致 ButterKnife @OnClick 停止工作。
所以我输入 mHandler.removeCallbacksAndMessages(null)
一切正常!
您可以在此处查看问题:Issue