我的活动有多个可点击的视图。当您单击其中一个时 - 使用新参数调用相同活动类的新实例。
Intent i = new Intent(this, SameActivity.class);
// put extras
startActivity(i);
这是在onClick方法中完成的。问题是,当您双击任何视图时,您可以看到新的Activity被打开然后它就像我再次点击其中一个视图(在新创建的活动中)。然后它再次重新开始。
日志看起来像:
onCreate()
onStart()
onResume()
onClick()
onPause()
onCreate()
onStart()
onResume()
onClick()
onCreate()
onStart()
onResume()
onStop()
onStop()
为什么以及如何避免它?
修改 尝试使用setEnabled(false),但没有效果。
我的进一步测试显示,onClick实际上是由新创建的视图触发的。这可能是设备的错吗?反应太慢了?
答案 0 :(得分:4)
首先,我真的希望你有充分的理由这样做...因为在我看来,在另一个之上开始相同的Activity
听起来毫无意义。
其次,也许您可以尝试在myButton.setEnabled(false)
中调用onPause
和myButton.setEnabled(true)
中调用onResume
,同时确保禁用该按钮以在XML中启动。