按下后退按钮并没有回到之前的活动Android
我今天在阅读了很多关于此的主题。然而,我所看到的所有解决方案都不能成为我的解决方案。我是Android开发新手。我的问题是我的主页有两个按钮 - 即PlayGame和Help。 PlayGame onClicked()将引导用户进入“难度页面”,用户可以选择Easy,Medium或Hard模式。我想要的是,当用户在“难度页面”中按下Android后退按钮时,它将回到主菜单(即可以看到PlayGame和Help的位置),因为我的情况发生的是它回到Android菜单。我完成了我的活动,如下所示,我在两个按钮(帮助和PlayGame)中尝试了不同的方法,但没有给我任何运气。按下后退按钮并没有回到之前的活动Android
这是我的mainmenu。
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();
}
}
请单击帮助菜单完成活动。一旦完成调用,活动将被销毁并从活动堆栈中移除(因此,当您按回时,它不再是以前的活动)。
您应该只在活动完成时完成活动(即用户已完成活动本应允许的任何活动)。您需要将应用程序中的一组活动视为一个堆栈。每次开始一个活动时,它都会放在堆栈的顶部。如果您希望后退按钮将您带回上一个活动,请不要完成它(因为每次调用完成后都会将其从堆栈中移除)。每次用户按下后,当前活动都会从堆栈中“弹出”,系统将恢复其下面的活动。如果用户按下后,堆栈中没有更多来自应用程序的活动,则您的应用程序完成并且用户返回主屏幕。
一个问题是在这个活动的结尾。当你在暂停时完成活动。该活动是不是在堆栈上了,你按返回加载一遍......你不能加载哪些不是在堆栈上了:)
问候,
所以当我删除onPause(),它应该工作? –
你只需要删除finish();它会工作。 –
怎么还没有工作?我的onclick留下了这个 Intent intent = new Intent(v.getContext(),HelpPageOne.class); startActivity(intent); 它仍然没有工作:( –
,所以我不应该完成的活动? –
如果你愿意的话,你可以完成活动,但是你不会在此之后回去。有时候可以完成,有时候不可以。 ;) –
好吧..现在我决定我只是想回到以前..所以这意味着我不需要完成活动?我对么? –