gpt4 book ai didi

java - 使用 onkeydown 方法或覆盖 onbackbuttonpressed 时,Android 后退按钮会卡住

转载 作者:行者123 更新时间:2023-11-29 08:47:15 32 4
gpt4 key购买 nike

public boolean onKeyDown(int keyCode, KeyEvent event){

if (isSub2&&keyCode == KeyEvent.KEYCODE_BACK) {
Intent intent = new Intent(ctxx, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);

isReturning = true;

return false;
}
else {
return super.onKeyDown(keyCode, event);
}
}
}

有两个 Activity Main--Sub2。当您在 Main 中按下一个按钮时,您可以转到 Sub2。此代码在 Sub2 中。我想使用底部的后退按钮使 MainActivity 放在堆栈顶部而不杀死 Sub2。

当我在手机上运行它时,一开始一切正常,但在多次返回 Sub2 并再次进入 Sub2 之后后退按钮停止工作。

我不知道是什么让后退按钮卡住......有什么想法吗?

ps) 我尝试在方法内部使用处理程序并覆盖 onBackButtonPressed() 而不是使用 onKeyDown..但完全没有区别..

最佳答案

不确定为什么您的按钮会卡住。查看您在主要 Activity 中正在做什么会很有帮助。这是一个对我有用且不会卡住的示例:

你可以把它放在主 Activity 中:

@Override
protected void onStart() {
super.onStart();
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener( new OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SubActivity.class);
//****** Uncomment the following line if you want to re-use the subactivity instead of launching a new one
//intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);

}
});
}

这在子 Activity 中:

@Override
public void onBackPressed() {
//super.onBackPressed();
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
}

关于java - 使用 onkeydown 方法或覆盖 onbackbuttonpressed 时,Android 后退按钮会卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24496342/

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