有两个按钮,按钮A使用简单的Activity.startActivity()方法在其onClickListener中启动另一个活动,按钮B在其onClickListener中执行一些其他工作。Android:单击Activity.onPause()后的事件
当我点击按钮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的onClick在onPause被解雇后后按键B正确。
您可以发布一些您正在尝试做的事情的代码,以便让任何想要帮助的人更清楚吗? –
我只是不希望点击事件在onPause()被触发后被传递。 – Mariusz
onClick事件没有办法自动触发。如果你把你的代码,那么我们可以更好地了解我们的问题 – Sayem