2016-03-31 17 views
0

私は自分のゲームのメインメニューであるメインアクティビティを持っています - また、2番目のアクティビティ:ゲームそのもの。プレイヤーがゲームセッションを終えると、メインメニューに戻ります。メインメニューに戻るとメソッドを呼びたいと思います。私はこれをどのように実装しますか?ゲームを開始するためのメインアクティビティに戻った後、アクティビティを呼び出しますか?

コード:

Intent intent = new Intent(MainActivity.this, InGame.class); 
      finish(); 
      MainActivity.this.startActivity(intent); 

コードメインメニューに戻るため:

public void returnMainMenu() 
{ 
    Intent intent = new Intent(InGame.this, MainActivity.class); 
    InGame.this.startActivity(intentMain); 
} 

すべてのヘルプは非常に感謝をいただければ幸いです。

答えて

2

startActivityForResult()を使用して、メインアクティビティからゲームアクティビティを実行します。また、メインアクティビティを終了しないでください。アイデアは元に戻ってくるためで、戻ってくるときに新しいインスタンスを作成しないためです。

メインメニューに戻るには、finish()に電話して2番目のアクティビティを終了し、メインアクティビティに戻ってください。これにより、メインアクティビティでonActivityResult()が呼び出されます。より詳細な説明については、このAndroid documentation hereを読むこれは

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == YOUR_REQUEST_CODE) { 
     // your logic here 
    } 
} 

を呼び出す

public void returnMainMenu(){ 
    InGame.this.finish(); 
} 

、メインメニューに戻るにはゲーム内活動、

Intent intent = new Intent(MainActivity.this, InGame.class); 
MainActivity.this.startActivityForResult(intent, YOUR_REQUEST_CODE); 

を開始するには

+1

これは正しい答えですが、startActivityForResultを利用する例は、これを他のユーザーにとってはるかに便利にします。 – zgc7009

+0

ありがとうございます、今私はこれを実装しようとします –

+1

@ zgc7009:合意しました!提案していただきありがとうございます。コードとドキュメントで答えを更新しました! :) – Swayam

関連する問題