問題タブ [back-stack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
18 に答える
166023 参照

android - Android:バックスタックから以前のすべてのアクティビティを削除します

プロファイルアクティビティの[ログアウト]ボタンをクリックしているときに、ユーザーをログインページに移動させたいのですが、そこでユーザーは新しい資格情報を使用する必要があります。

したがって、私はこのコードを使用しました:

onButtonClickログアウトボタンの。

しかし、問題は、ログインアクティビティでデバイスの戻るボタンをクリックすると、ProfileActivityに移動することです。LoginActivityのデバイスの戻るボタンを押すと、アプリケーションが閉じるはずだと思っていました。

私は何が間違っているのですか?

LoginActivityandroid:launchMode="singleTop"のマニフェストにも追加しました

ありがとうございました

0 投票する
3 に答える
18207 参照

android - ビューページャーを使用して戻るボタンを処理するには?

view pager を使用してレンダリングされる Frag A と Frag B の 2 つのフラグメントがあります。ユーザーが A から B にスワイプしてから戻るボタンを押した場合 (B にいる場合)、ユーザーはビュー ページャーから出るのではなく、A に移動する必要があります。どうすればこれを達成できますか?

バックスタックにトランザクションを追加しても効果がないようです。

ありがとう

0 投票する
1 に答える
5703 参照

android - Androidフラグメントのナビゲーションとバックスタック

ヘッダーバー(メニューのようなもの)と4つのフラグメント(MAIN、A、B、C)があり、そこからMAINをバックスタックの「メイン/ルート」フラグメントにする必要があります。

私が抱えている問題は、メニューを介したユーザーがたとえばMAIN> A> B> Cに移動する場合です。単にバックスタックを使用すると、逆の順序になります。ユーザーがこれらの3つのうちのいずれかにどのように移動したかに関係なく、MAINに戻るには戻るボタンが必要です。

ここに画像の説明を入力してください

私の現在のコード(これは間違っています。MAINにな​​いときにアプリを終了し、現在のフラグメントが他の非MAINフラグメントから切り替えられます)は次のようになります。

0 投票する
6 に答える
2448 参照

android - 戻るボタンでAndroidアプリケーションを終了します

アプリケーションのヘッダーに戻る矢印の付いたImageButtonがあります。ユーザーがそれを押すと、現在のアクティビティでfinish()を呼び出します。ユーザーが帰宅するオプションもありますが、どういうわけかアクティビティ履歴をクリアしたいので、ユーザーがホームアクティビティの戻るボタンを押すと、アプリケーションが閉じます。

ホームアクティビティを呼び出すときに、インテントにパラメータを設定することもできますが、アプリケーションを閉じるために何を呼び出すのですか?

0 投票する
2 に答える
1205 参照

android - Android - ランチャーとバックスタックの動作

ここで言ったように

ユーザーがホーム ボタンを押してタスクを終了すると、現在のアクティビティは停止し、そのタスクはバックグラウンドに入ります。<...> ユーザーが後でタスクを開始したランチャー アイコンを選択してタスクを再開すると、タスクはフォアグラウンドに移動し、スタックの一番上でアクティビティを再開します。

だから私は簡単なテストを用意しました

アクティビティ #1 == onClick が設定されたテキスト マークとボタン

アクティビティ #2 == テキスト マークのみ

そしてマニフェスト

ランチャー アイコンは最後のアクティビティを表示しません。常に最初のアクティビティを起動してスタックに入れます。そのため、1 つのタスクに多くの最初のアクティビティと多くの 2 番目のアクティビティが含まれる場合があります。最近のアプリ リストからのアイコンは、スタック内の正確な最後のアクティビティを起動します。私は何を間違っていますか?

0 投票する
1 に答える
5085 参照

android - saveFragmentInstanceState を実装するには?

saveFragmentInstanceState()戻るボタンが押されたときにフラグメントインスタンスを取得するための実装方法やその他の方法についてアドバイスをいただけますか。私はフラグメントに独自のスタックを使用します。つまり、以下のコードです。

ActivityInTab次にクラスの実装です。このクラスには、フラグメント状態を保存および取得するためのメソッドを実装する必要があると思いますが、これを行う方法がわかりません。

そして最後に、これは Fragments の実装です:

を使用して向きを変更した場合にのみインスタンスの状態を保存できますonSaveInstanceState(Bundle outState)が、戻るボタンは保存できません。

アドバイスをいただければ幸いです。

0 投票する
4 に答える
644 参照

android - バックスタックとタスクを理解するのが難しい

タスクとバックスタック(http://developer.android.com/guide/components/tasks-and-back-stack.html)について読みましたが、それでも混乱はほとんどありません。私はただ1つのケースでさまざまなこととstcukを試していました。例を見てみましょう。2つのアプリA1とA2があります。A1にはA1_first(メインアクティビティでもある)という1つのアクティビティがあり、A2にはA2_first(メインアクティビティ)とA2_secondの2つのアクティビティがあります。A2_secondはsingleTaskアクティビティです。A1_fristはボタンを押すとA2_secondを呼び出し、A2_firstもボタンを押すとA2_secondを呼び出します。

A2を起動すると、A2_first画面が表示され、ボタンを押した後、A2_secondに移動します(予想どおり)が、最初にA1を起動し、ボタンを押した後、A2_secondを押してから、ホームボタンを押し、ランチャーからもう一度A2アイコンを押すと、A2_secondに到達しましたがA2_firstに到達することを期待していました。

何が欠けているのかわかりませんでした。誰かがA2を押すことを説明できますかA1_first----->A2_second ----> home -----------------> A2_second(なぜA2_firstではないのですか??A2_firstはA2の主な活動です)。

0 投票する
0 に答える
408 参照

android - フラグメント スタックをクリアするとエラーが発生する

この問題について教えてください。タブ付きのアプリケーションがあります。各タブには、フラグメントの独自のバックスタックが含まれています。ユーザーが任意のタブを押したときにバックスタックをクリアしようとすると、問題が発生します。onResume()スタックアクティビティが呼び出されたときに、スタックをクリアしようとしています。しかし、この解決策は次のエラーを引き起こします:

バックスタックに使用するクラスです。

そして親クラス。onResume()メソッドでエラーが発生しました。

アドバイスありがとうございます。

0 投票する
3 に答える
41286 参照

android - 戻るボタンが押されたときにフラグメントCをフラグメントAに置き換える方法は?

私のシナリオ: アクティビティ 1 は、フラグメント A-> B-> C で構成されています。すべてのフラグメントは、次のコードを使用して追加されます。

今、フラグメント C から、フラグメント A に直接戻りたいと思います。したがって、ft.addToBackStack(TAG)フラグメント C を追加しながらコメントしました。そのため、CI から [戻る] ボタンを押すと、画面に直接フラグメント A が表示されます。

ただし、フラグメント C は A に置き換えられません。実際、両方のフラグメントが表示されます。この問題を解決するにはどうすればよいですか?

0 投票する
1 に答える
72 参照

android - アクティビティのスタックを復元するために使用される順序は何ですか?

Androidのドキュメントには、タスクとバックスタックの完全な説明が記載されていますが、次の質問に対する答えは見つかりません。タスク(以前はシステムによって強制終了された)が約であるときに、アクティビティが復元(再作成)される順序はどれですか。再びフォアグラウンドになります。

たとえば、タスクにアクティビティA-> B-> Cがあり、バックグラウンドで強制終了された場合、ユーザーがタスクに戻ると、連続するすべてのアクティビティの順序onCreateonRestoreInstanceStateイベント呼び出しはどうなりますか?Aは常にBの前に完全に復元され、BはCの前に完全に復元されることを当然のことと見なすことができますか?

この質問は、Google Playのエラーログから発生します。これにより、子アクティビティの呼び出し中にメインアクティビティがまだ復元されていないことが疑われます。