私は答えを探していますが、適切なものを見つけることができませんでした。問題は、通常のアクティビティの上にダイアログテーマのアクティビティがあることです。ユーザーにテーマのアクティビティを読んで「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. プログラムが終了すると `exec`でプロセスを終了する
- 3. ModalViewを終了ボタンでプログラムで終了する
- 4. vb.netのファイルパスを使用してアプリケーションをプログラムで終了する
- 5. Enterキーでプログラムを終了
- 6. Pythonでプログラムを終了する方法
- 7. プログラムでJavaのプロセスを終了する
- 8. ブラウザをプログラムで終了する
- 9. UWPアプリケーションをプログラムで終了または終了するにはどうすればよいですか? (Windows 10)
- 10. Android:アプリケーションで終了
- 11. 端末のMacアプリケーションをプログラムで終了しますか?
- 12. Blackberry:アプリケーションを終了する
- 13. 親スクリプトを終了せずにCtrl-Cでプログラムを終了
- 14. RandomAccessFilesは、アプリケーションが終了するまで終了しません。
- 15. ムービーがJMFで終了し、プログラムを終了しました
- 16. アプリケーションの終了
- 17. アプリケーションの終了イベントの終了
- 18. smalltalkでプログラムを終了しますか?
- 19. WP7でアプリケーションを終了するには?
- 20. アンドロイドでアプリケーションを終了する
- 21. Android - アプリケーションが終了するとリモートサービスが終了する
- 22. breakプログラムを終了する - C++
- 23. 終了イベントハンドラを閉じるアプリケーションを強制終了
- 24. 強制終了アプリケーション
- 25. エラーなしでアプリケーションが終了する
- 26. プロセス終了イベントに対するアプリケーション終了
- 27. プログラムが予期せず終了する
- 28. .NETプログラムが突然終了する
- 29. プログラムが動作して終了する
- 30. 地図ズームが終了するプログラム
あなたが説明してくださいすることができます。あなたの事例に最適なソリューションを見つけるためには、われわれの理解を深めてくれると確信しています。乾杯uは私がたい」と述べた原因 – Ewoks
それは、ちょうどあなたがそれを達成しようとしているものをよりよく理解したかった...完全にカスタマイズされていると私が覚えている限りでは、私は通常のダイアログボックス – JustCurious
沖で行うことができなかった多くの機能が含まれていますユーザーがテーマのあるアクティビティに対して「OK」をクリックしたり強制的に「OK」をクリックするように強制するか、「カスタムダイアログを使用する良い理由のように私に響きます」と入力することはできません。乾杯。 – Ewoks