2011-09-15 32 views
0

私はTabHostを使用するAndroidアプリケーションで作業しています。私はGoogleの例を使ってセットアップを行ったが、うまくいくが、ユーザーが終了をクリックしたときに起動するアクティビティを強制的に終了したいこれを行う方法はありますか?私が見つけることができたのは、既に実行しているアクティビティを閉じるのではなく、新しいアクティビティを開始する方法の例です。アクティビティを終了するTabHostを終了時に起動しました

答えて

1

あなたの説明から、あなたはfinish()を呼び出したいと思います。

http://developer.android.com/reference/android/app/Activity.html#finish()

これは、あなたが求めていたものでない場合は、あなたの質問に拡張してください。

更新

意図フラグを見てみましょう。私のための最も使用されるがFLAG_ACTIVITY_CLEAR_TOP

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP

+0

申し訳ありませんが、私はそれを十分に言いませんでした。私はTabHostアクティビティでfinish()を呼び出していますが、起動時に開始するアクティビティはバックグラウンドで実行されたままです。私は基本的に、TabHostアクティビティのonDestroy()関数で、私のTabHostアクティビティが開始する4つのアクティビティのそれぞれで、finish()を呼び出すことができますか? – smccloud

+0

新しいアクティビティの終了と開始に使用されるインテントフラグを調べることができます。いろいろな種類がありますので、どれを読んで読んでみるのがいいでしょう。リンクは私の答えの更新されたセクションに追加されました – hooked82

0

あなたはこれらの活動を殺したい理由について詳しく説明でしたでしょうか? Androidフレームワークは、あなたのためにリソース管理を行い、必要に応じてメモリと処理能力を解放するための活動を殺していることに満足しています。さらに、ユーザーがタブホスト内の特定のタブをクリックするたびにインスタンス化時に通常ロードされるアクティビティをAndroidに強制的に再起動させると、待ち時間が発生します。

もう一度やりたい理由があるかもしれませんが、説明してください。

+0

彼らはタブをクリックするたびに、私が作成した終了メニュー項目をクリックしたときだけではありません。基本的に、プログラムが終了しているとき。私はいくつかのデータベース接続とカーソルが開いたままになっているので、これを行う必要がある/私はそれを望んでいない。 – smccloud

関連する問題