2011-08-11 18 views
0

問題を並べ替える方法を理解しています。ホーム画面でホーム画面に戻り、最後のアクティビティに戻る

ユーザーが新しい活動を開始し、最初のボタンをクリックすると、私は2つのボタン

を持っています。私が探しているのは、ユーザーがアプリをクリックしてホーム画面に戻る場合です。ユーザーが最初のボタンを再度クリックすると、新しいアクティビティが開始されます。

ユーザーは、それが最後の

ボタン1をクリックすることによって開始されたアクティビティに戻り番目のボタンをクリックした場合どのような私は問題を抱えていたユーザが戻っても クリックしたときに、活動の状態を保存する方法です第二ボタンはお時間を

おかげ

UPDATE

を押したときにその活動を呼び出す方法を私はこのの一部をダウンしたが、まだ問題を抱えています。私が使用しているコードの一部を置くと、おそらく誰かが間違っている場所を指摘することができます。私は次のように追加した新しいクラス内のメインメニュー

Intent intent = new Intent(MainMenu.this, NewClass.class); 
     intent.putExtra("value1", value1); 
     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     startActivity(intent); 

から新しいアクティビティを呼び出すための

コード:

@Override 
public void onBackPressed() { 
    //super.onBackPressed(); 
    Intent intent = new Intent(RoundScoring.this, MainMenu.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
    startActivity(intent); 
    Toast.makeText(this, "Back Button Pressed", Toast.LENGTH_LONG).show(); 
} 

が、私はこのクラスのonrestoreinstancestateまたはonresumneのいずれかを持っていません。 oncreateだけ。

ホーム画面:私は感謝

+0

あなたがより多くを説明することができ... –

+0

ボタン1 - 常に新しい活動を開始し、ボタン2は、 - ボタン1が作成戻って最後の活動に戻ります。 2つのことを知っておくと、1アクティビティをクリックすると状態を保存する方法、2ボタンからアクティビティを再度呼び出す方法です。ありがとう –

+0

これを達成する方法はまだ100%ではありません。ありがとう –

答えて

1

はこれを試してみてください、私はこの

Intent intentContiune = new Intent(MainMenu.this, NewClass.class); 
      intentContiune.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 
      startActivity(intentContiune); 

を追加したメインメニューの第二ボタンにインスタンス

を戻すために、このような何かを追加する必要がありますか左ボタン: 新しいフラグをインテントフラグFLAG_ACTIVITY_NEW_TASKで開きます。

アクティビティ: 開始アクティビティでonBackClick()をオーバーライドして、ホーム画面を終了する代わりにインテントで呼び出す。 OnSaveInstanceState

ホーム画面右ボタンを上書きフラグFLAG_ACTIVITY_REORDER_TO_FRONT 保存の活動状態を使用します。 フラグに関するフラグFLAG_ACTIVITY_SINGLE_TOPで活動を呼び出し

さらに詳しい情報: http://blog.akquinet.de/2010/04/15/android-activites-and-tasks-series-intent-flags/

+0

フラットFLAG_ACTIVITY_SINGLE_TOPを使用してインテントを再度呼び出すコードとは何ですか?ありがとう –

+0

ボタン1を押すと、私はクラスで使用されているvaribalesをいくつか渡しています。 2番目のボタンをクリックすると、これらの変数が保存されていないように見えます。 OnSaveInstanceState –

+0

がいくつかのコードで更新されたときにもっと何かをしましたか、私は正しい方向に進んでいますか? Thansk –

0

一つの解決策は、その周りに渡すの束を含むことができますあなたの活動の状態を含める。 startActivityForResult()を使用すると、アクティビティの状態のバンドルを返すことができます。ユーザーが2番目のボタンをクリックすると、そのバンドルを渡し、バンドルの内容に関してアクティビティを設定します。バンドルに探している情報が含まれていない場合は、単に開始したかのようにデフォルト値を使用します。詳細については

Android: Capturing the return of an activity

関連する問題