gpt4 book ai didi

Android:Activity.onPause() 之后的点击事件

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:10:51 25 4
gpt4 key购买 nike

有两个按钮,按钮 A 使用简单的 Activity.startActivity() 方法在其 onClickListener 中启动另一个 Activity ,按钮 B 在其 onClickListener 中执行一些其他工作。

当我单击按钮 B 并在按钮 A 之后立即启动时,新 Activity 启动,旧 Activity 的 onPause() 生命周期事件被触发,第二个按钮的 onClick 事件也被触发,但在 Activity.onPause() 之后导致我的应用程序中存在一些状态不一致。

有什么方法可以防止在不使用 isPaused 标志的情况下在 onPause() 之后传递触摸/点击事件?

**编辑:**我的代码:

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,则 B 的 onClick 在 onPause 之后触发。

最佳答案

在按钮A的OnClickListener中,禁用按钮b。

Button.setEnabled(false);

只需根据您的要求在 A 的 onClickListener 或 onResume 处启用按钮即可。

关于Android:Activity.onPause() 之后的点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38368391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com