2011-11-02 42 views
1

我今天在閱讀了很多關於此的主題。然而,我所看到的所有解決方案都不能成爲我的解決方案。我是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(); 
} 
} 

回答

5

請單擊幫助菜單完成活動。一旦完成調用,活動將被銷燬並從活動堆棧中移除(因此,當您按回時,它不再是以前的活動)。

您應該只在活動完成時完成活動(即用戶已完成活動本應允許的任何活動)。您需要將應用程序中的一組活動視爲一個堆棧。每次開始一個活動時,它都會放在堆棧的頂部。如果您希望後退按鈕將您帶回上一個活動,請不要完成它(因爲每次調用完成後都會將其從堆棧中移除)。每次用戶按下後,當前活動都會從堆棧中「彈出」,系統將恢復其下面的活動。如果用戶按下後,堆棧中沒有更多來自應用程序的活動,則您的應用程序完成並且用戶返回主屏幕。

+0

,所以我不應該完成的活動? –

+0

如果你願意的話,你可以完成活動,但是你不會在此之後回去。有時候可以完成,有時候不可以。 ;) –

+0

好吧..現在我決定我只是想回到以前..所以這意味着我不需要完成活動?我對麼? –

3

一個問題是在這個活動的結尾。當你在暫停時完成活動。該活動是不是在堆棧上了,你按返回加載一遍......你不能加載哪些不是在堆棧上了:)

問候,

+0

所以當我刪除onPause(),它應該工作? –

+0

你只需要刪除finish();它會工作。 –

+0

怎麼還沒有工作?我的onclick留下了這個 Intent intent = new Intent(v.getContext(),HelpPageOne.class); startActivity(intent); 它仍然沒有工作:( –

相關問題