2011-07-01 19 views
1

これについての回答は見つかりませんでしたが、少し失われています。 Act1とAct2の2つの活動があります。私はAct1にボタンがあり、それが押されたときにAct2の新しい意図を開始します。しかし、私がAct2中に戻るボタンを押すたびに、ボタンを再度クリックするよりも新しいインテントが再開されます。バックがプレースしているときの現在の活動を破壊しない方法

私はそれをしたくありません...私はAct2を再開したいです。それをどうやってやることができますか?ありがとうございます/

+0

間違った質問をしている可能性があります。あなたが達成したいことを教えてください。Act2を「再開」したいだけではなく、おそらく周りに道があります。アクティビティ2の状態/値のいくつかの並べ替えを保存したいので、戻ってくるときに彼らはそこになりますか? – binnyb

答えて

2

は、それはあなたのリターン(エスケープ)または[戻る]ボタンをクリックしてアンドロイドデフォルトの動作は、それが現在の活動を終了し、あなたがにonKeyDownメソッドをオーバーライドすることができ、デフォルトの動作をしたくない以前activity.Ifをロードしていることあなたに役立つでしょう。次の文書URLのサンプルコードを参照してください。 http://developer.android.com/reference/android/app/Activity.html 次回は実行したくないAct2のネットワークや同様の操作をしていますか?

+0

はい、私はあなたがリフレッシュしない限り、私が保存したいact2でいくつかのネットワークをやっています。 – thunderousNinja

+1

次に、データがダウンロードされたことを示すAct2にフラグを設定します。毎回フラグをチェックして操作することができます。このフラグをデータベースに保存するか、共有設定を使用してフラグを保存できます。 – sunriser

4

docsに記載されているように起動モードを「singleTop」に設定し、戻るボタンを押して新しいIntentを開始すると、singleTopなので古いアクティビティが表示されます。

<activity android:name=".Act1" android:launchMode="singleTop"/> 
<activity android:name=".Act2" android:launchMode="singleTop"/> 
0

Act2のonPauseメソッドをオーバーライドし、返されるときにonCreate()で取得されるSharedPreferencesオブジェクトに情報を保存できます。

関連する問題