私は答えを探していますが、適切なものを見つけることができませんでした。問題は、通常のアクティビティの上にダイアログテーマのアクティビティがあることです。ユーザーにテーマのアクティビティを読んで「OK」をクリックさせると、他の質問のために別のダイアログテーマのアクティビティに転送されたり、アプリケーションに参加できなくなります。だから、私はバックプレスでアプリケーションを終了したいだけでなく、私のアプリのコンテンツを明らかにするテーマ別のアクティビティを終了するのではありません。そんなことがあるものか?アプリケーションをプログラムで終了する
答えて
finish()
あなたのための完璧な仕事を行います。)
が、ダイアログがキャンセルできない作る。..
編集(問題の説明の明確化の後): 他の人がStartActivityForResultは、追加のトリックで、仕事ができる言ったように。
android:noHistory="true"
または意向Intent.FLAG_ACTIVITY_NO_HISTORY
ためのフラグを設定する:ので、あなたのアプリケーション(DialogActivity1-> DialogActivity2)の設計方法の 、それはすべてあなたの特別なダイアログルック活動のため、AndroidManifestファイルに次の行を追加するために役立つかもしれませんDialogActivityNを開始する前に
両ライン(マニフェストまたはコードから)が、これはAndroidのスタックに滞在していないactitiviesようになりますので、あなたのMainActivityが戻って結果を取得する場合、それは最後のDialogActivityから生じることになり、その結果受け取っに応じて、よりあなたはどちらかfinish()
または継続することができますMainActivityの実行...と
uは、このような活動を開始仕上げをコールする必要はありません
()はそれらを破壊するために、uがちょうど新しい活動を開始し、彼らがスタックから消えてしまいます。もちろん、あなたのケースでは、最後のDialogActivityはStartActivityForResult()で始まり、前の段落で説明したように、MainActivityは受け取った結果に基づいて何かを行います。しかし行ったユーザーは、開始アプリケーションでこれらのダイアログを通じて数回行く私は良い習慣を検討すると、それはユーザーがちょうどあきらめ作り、いくつかのあまり迷惑なアプリのために行くことができるものではありません。
は、あなたがそれを解決することを願っています(それが概念について再考するだけの私からのアドバイスですが、この間違ったを得ることはありません);)乾杯'finish()'は、私のアプリの内容を明らかにするダイアログをテーマにした作業を終了します。 – JustCurious
あなたはそれが実際のダイアログではなくアクティビティ(ダイアログのように見えます)を作った本当の理由は何ですか? – Ewoks
あなたがstartActivityForResult()
とあなたの対話活動を開始した場合、あなたはから結果RESULT_CANCELED
を送り返すことができますダイアログを開き、これを受け取ると(主な活動では)finish()
と呼んでいます。
良いアイデア!私はそれを試してみます – JustCurious
...私のダイアログは実際には2つのページングされたものです。したがって、2つのアクティビティがあります。私は最初のもののためにそれをすることができますが、次の活動はどうですか? – JustCurious
その場合、私はおそらく目的の効果を達成するためにフラグメントを使用しますが、それがオプションでない場合は、「OK」がクリックされたかどうかを示す最初のアクティビティに値を戻す方法を見つける必要があります。おそらく 'SharedPreference'を使用しています。これは、アプリケーションが最後に何を選んだのかを覚えておくことができるからです。 – Jave
ActivityforResultについて知っていれば、方法は簡単です。まずstartActivityforResultメソッドでダイアログアクティビティを開始する必要があります。ダイアログアクティビティが戻るボタンで閉じると、Set resultで閉じる必要があります。 OnactivityResultメソッドのstartアクティビティでは、setResultが以下のようになっていない場合、同じアクティビティを検出し、同じアクティビティを閉じる必要があります。あなたはポイントを得ることを願っています。その「ダイアログ」は本当ダイアログではなく、活動がダイアログとしてテーマにした理由を
- 1. プログラムをフラッターでプログラムを終了する
- 2. 終了時にアプリケーションを終了する
- 3. プログラムが終了すると `exec`でプロセスを終了する
- 4. 終了コード10で終了したプログラム
- 5. ModalViewを終了ボタンでプログラムで終了する
- 6. vb.netのファイルパスを使用してアプリケーションをプログラムで終了する
- 7. Enterキーでプログラムを終了
- 8. サブプロセスを終了するとPythonプログラムが終了する
- 9. UWPアプリケーションをプログラムで終了または終了するにはどうすればよいですか? (Windows 10)
- 10. 端末のMacアプリケーションをプログラムで終了しますか?
- 11. プログラムでJavaのプロセスを終了する
- 12. Python:printステートメントでプログラムを終了する
- 13. プログラムでPythonシェル(IDLE)を終了する
- 14. Whileループでプログラムを終了する
- 15. ブラウザをプログラムで終了する
- 16. Pythonでプログラムを終了する方法
- 17. 角4アプリプロセスをプログラムで終了する
- 18. 終了時のプログラムの終了
- 19. Xamarin Androidでアプリケーションを終了した後、バックグラウンドサービスが終了する
- 20. 完了後にプログラムが終了する
- 21. Android:アプリケーションで終了
- 22. Blackberry:アプリケーションを終了する
- 23. ProgressDialogで終了したプログラム
- 24. C++アプリケーションを終了する前にバックグラウンドスレッドを終了させる
- 25. 親スクリプトを終了せずにCtrl-Cでプログラムを終了
- 26. RandomAccessFilesは、アプリケーションが終了するまで終了しません。
- 27. SOC1 Cobolプログラムで異常終了する
- 28. クラウドメッセージハンドリング終了アプリケーション
- 29. アプリケーションの終了
- 30. ムービーがJMFで終了し、プログラムを終了しました
あなたが説明してくださいすることができます。あなたの事例に最適なソリューションを見つけるためには、われわれの理解を深めてくれると確信しています。乾杯uは私がたい」と述べた原因 – Ewoks
それは、ちょうどあなたがそれを達成しようとしているものをよりよく理解したかった...完全にカスタマイズされていると私が覚えている限りでは、私は通常のダイアログボックス – JustCurious
沖で行うことができなかった多くの機能が含まれていますユーザーがテーマのあるアクティビティに対して「OK」をクリックしたり強制的に「OK」をクリックするように強制するか、「カスタムダイアログを使用する良い理由のように私に響きます」と入力することはできません。乾杯。 – Ewoks