gpt4 book ai didi

Android dev : MainActivity's onBackPressed method uses other activitiy's onBackPressed method, 不是默认值。我的代码有什么问题?

转载 作者:行者123 更新时间:2023-11-30 02:55:34 25 4
gpt4 key购买 nike

我有三个 java Activity : MainActivity 是您打开应用程序时的第一个屏幕。另外两个是PlayActivity和GuessActivity我在 Play 和 Guess Activity 中覆盖了 onBackPressed() 方法:这是代码:

在 PlayAcitvity 中:

    @Override
public void onBackPressed() {
final Dialog mainquestion = new Dialog(PlayActivity.this);
mainquestion.setContentView(R.layout.dialog_mainmenu);
mainquestion.setCanceledOnTouchOutside(false);

Button yes = (Button) mainquestion.findViewById(R.id.yes);
Button no = (Button) mainquestion.findViewById(R.id.no);

yes.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Intent backtomain = new Intent(PlayActivity.this, MainActivity.class);
PlayActivity.this.startActivity(backtomain);
}
});

no.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
mainquestion.dismiss();
}
});


mainquestion.show();
}

在 GuessActivity 中:

@Override
public void onBackPressed() {
final Dialog mainquestion = new Dialog(GuessActivity.this);
mainquestion.setContentView(R.layout.dialog_mainmenu);
mainquestion.setCanceledOnTouchOutside(false);

Button yes = (Button) mainquestion.findViewById(R.id.yes);
Button no = (Button) mainquestion.findViewById(R.id.no);

yes.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Intent backtomain = new Intent(GuessActivity.this, MainActivity.class);
GuessActivity.this.startActivity(backtomain);
}
});

no.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
mainquestion.dismiss();
}
});


mainquestion.show();
}

在 MainActivity 中我放了这个:

public void onBackPressed() {
super.onBackPressed();
}

我的目标是当我点击后退按钮并且我在播放或猜测 Activity 中时,将出现一个对话框。我对此没有问题,它运行良好。我的问题是当我在第一个屏幕上时,当我点击后退按钮时,它会转到 PlayActivity 并出现 PlayActivity 的对话框。我只想让 MainActivity 中的 onBackPressed 方法作为默认方法工作。

最佳答案

无需在 GuessActivityPlayAcitvity 上的 yes 按钮中启动另一个 Activity ,只需调用 finish() 或 super.onBackPressed(); 方法

所以你的代码必须是:

yes.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
YourDialog.dismiss();
super.onBackPressed(); // or finish()
}
});

关于Android dev : MainActivity's onBackPressed method uses other activitiy's onBackPressed method, 不是默认值。我的代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23335723/

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