有两个按钮,按钮A使用简单的Activity.startActivity()方法在其onClickListener中启动另一个活动,按钮B在其onClickListener中执行一些其他工作.
当我单击按钮B并紧接在按钮A之后,然后启动新活动,触发旧活动的onPause()生命周期事件,但是触发第二个按钮的onClick事件,但是在Activity.onPause()之后导致某些状态我的应用程序中的不一致.
有没有办法阻止在onPause()之后传递触摸/点击事件而不使用isPaused标志?
**编辑:**我的代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button buttonA = (Button) findViewById(R.id.activity_button);
buttonA.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, TestActivity.class));
}
});
Button buttonB = (Button) findViewById(R.id.log_button);
buttonB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("TEST", "onClick");
}
});
}
@Override
protected void onPause() {
super.onPause();
Log.e("TEST", "onPause");
}
}
基本上,如果你足够快,并在按钮A后面点击按钮B,那么在onPause之后会触发B的onClick.