这个问题会导致在每次点击按钮时函数都被调用多次。通常这是因为在activity的声明周期发生变化时,例如旋转屏幕或启动另一个activity时会导致onCreate方法被调用,从而导致button.setOnClickListner()被重新调用。为了避免这种情况发生,我们应该在activity的onCreate方法中添加以下代码:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 这里放置你的监听器代码
}
});
上述代码保证了Button只会在activity创建时调用一次setOnClickListener()方法,并始终保持监听器只有一个。