Android 按“后退”按钮不会返回到上一个活动

Android 按“后退”按钮不会返回到上一个活动,android,button,android-activity,back,Android,Button,Android Activity,Back,今天我读了很多关于这个的话题。然而,我所看到的所有解决方案都不是我的解决方案。我是Android开发的新手。我的问题是我的主页上有两个按钮,即PlayGame和Help。PlayGame onClicked()将引导用户进入“难度页面”,用户可以在其中选择轻松、中等或硬模式。我想要的是,当用户按下“难度页面”中的Android后退按钮时,它将返回到主菜单(即可以看到游戏和帮助的地方),因为在我的情况下,它将返回到Android菜单。我完成了如下所示的活动,并在两个按钮(帮助和游戏)中尝试了不同的

今天我读了很多关于这个的话题。然而,我所看到的所有解决方案都不是我的解决方案。我是Android开发的新手。我的问题是我的主页上有两个按钮,即PlayGame和Help。PlayGame onClicked()将引导用户进入“难度页面”,用户可以在其中选择轻松、中等或硬模式。我想要的是,当用户按下“难度页面”中的Android后退按钮时,它将返回到主菜单(即可以看到游戏和帮助的地方),因为在我的情况下,它将返回到Android菜单。我完成了如下所示的活动,并在两个按钮(帮助和游戏)中尝试了不同的方法,但没有给我任何运气

这是我的主菜单

package com.kfc;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.ImageButton;

public class NewKFCActivity extends Activity {
    /** Called when the activity is first created. */
    ImageButton bPlay, bHelp;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.main);

    bPlay = (ImageButton) findViewById(R.id.playGame);
    bPlay.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent intent = new Intent(v.getContext(), SelectDifficulty.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
            NewKFCActivity.this.startActivity(intent);

        }
    });

    bHelp = (ImageButton) findViewById(R.id.Help);
    bHelp.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent intent = new Intent(v.getContext(), HelpPageOne.class);
            startActivity(intent);
            finish();
        }
    });


}
@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    finish();
}
}

不要在单击“帮助”菜单时完成活动。调用finish后,该活动将被销毁并从活动堆栈中删除(因此,当您按back时,它不再是上一个活动)


只有当活动真正完成时,您才应该完成它(即,用户已经完成了活动应该让他们做的任何事情)。您需要将应用程序中的活动集看作一个堆栈。每次启动活动时,都会将其放在堆栈的顶部。如果希望“后退”按钮将您带回上一个活动,请不要完成它(因为每次调用finish时,它都会将其从堆栈中移除)。每次用户按下返回键时,当前活动都会从堆栈中“弹出”,系统会恢复其下方的活动。如果当用户按下“后退”按钮时,堆栈上的应用程序中没有其他活动,则表示应用程序已完成,用户返回主屏幕。

此活动结束时出现一个问题。暂停时完成活动。该活动不再在堆栈上,您可以按back再次加载它…您只是无法加载堆栈上不再存在的内容:)


如果有
android:launchMode=“singleInstance”
对于相关活动,请尝试将其删除、同步并重试。

因此我不应该完成这些活动?如果您愿意,您可以完成这些活动,但之后您将无法返回。有时可以结束,有时不能结束可以现在我决定我只想回到以前的。。那就意味着我不需要完成这些活动了?我说的对吗?我刚刚更新了我的答案,补充了一些关于完成活动意味着什么的描述。好的,我明白了。。所以我不再需要使用intent.addFlags了?为什么它仍然不起作用?我的onclick剩下这个Intent=newintent(v.getContext(),HelpPageOne.class);星触觉(意向);它仍然不起作用:(什么不起作用?后退按钮还是帮助按钮?当您在帮助页面上时,可能是后退按钮?如果是,请搜索任何“finish();”在主菜单中,只需删除它。您不需要。后退按钮不起作用,是..在帮助页上..我还删除了onPause方法,并且在主菜单中没有更多的finish();我现在该怎么办??