問題タブ [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 投票する
3 に答える
8160 参照

android - ViewPager の Fragment が BackStack から保持されている場合の WebView のリロード

Fragmentを含むベーシックのコードを次に示しますWebView
WebFragment.java

さらに2つの基本的なフラグメントもあります(これにはありませんWebView)。次に、 を使用して、これら 3 つすべてFragmentsViewPager( WebFragmentFragment1およびFragment2それぞれ)に入れますFragmentAdapter。そして、私は追加android:configChanges="orientation|screenSize"しましたAndroidManifest.xml(そのWebViewため、構成の変更時にrealodしません)。
今私の問題は、アプリの実行中に最初のページ(WebFragmet)ViewPagerを2番目のページ(Fragment1)に変更し、再び最初のページに戻ったことです。なのでそのままで問題WebFragmentありません。

ここで再び--> -->のViewPagerように変更し、上記のアクションの方向を逆にして最初のページに戻りました。しかし、その時、インがリロードしているのを見ました。WebFragmentFragment1Fragment2WebViewWebFragment

もう 1 つの問題は、読み込みが開始されるたびに、次のWebViewような 2 つのログ エントリが表示されることです。

だから私の質問は: 1)が保持されているときにリロード
を防ぐにはどうすればよいですか? 2) なぜここで2 回ロードするのですか?WebViewWebFragmentBackStack
WebView

この質問を見て、助けてください(FragmentPagerAdapterでWebViewのリロードを防ぎますか?)。

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

android - Android アクティビティ管理

活動管理について 1 つの質問があります。たとえば、A1、A2、A3、A4 という 4 つのアクティビティがあるとします。A1 には、アクティビティ A2 を開始するボタンが 1 つあります。A2 には、A3 または A4 のいずれかを開始する 2 つのボタンがあり、A3 には、アクティビティ A4 および A1 を開始する 2 つのボタンがあります。A4 には、アクティビティ A1、A2、A3 を開始するための 3 つのボタンがあります。このアクティビティでは、finish メソッドは使用しません。したがって、ユーザーはアクティビティをチェックするよりもボタンのいずれかをクリックします。これはすでにバックグラウンドにありますか? はいの場合、このアクティビティは新しいインスタンスを生成せず、すでにバックグラウンドにあるアクティビティを開始します。そうでなければ、それは新しい主張を生み出します。

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

android - addToBackStack が機能せず、フラグメントをポップバックする代わりにアクティビティを閉じます

問題があり、どこにも解決策が見つかりません。

戻るボタンを押しても、アプリは前のフラグメントに戻らず、代わりにアクティビティを閉じます。

[1]、[2]、[3]、[4] の 4 つのフラグメントを表示するアクティビティがあります。最初の 3 つのフラグメントはアクション バーで切り替えることができますが、それらをバック スタックに追加したくありません。

フラグメント [4] は、フラグメント [3] で選択された項目の詳細ビューです。[4] を押すと、アプリを閉じずにフラグメント [3] に戻りたい。

トランジションは、フラグメントが配置されているアクティビティによって次のように行われます。

[3] から [4] への遷移の場合を除き、toBackStack は常に false です。

すべてのトランジションで toBackStack true を渡すと、とにかくアクティビティが閉じます。

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

android - Android: send result to an Activity cleaning the top of BackStack

I have 3 Activities: A, B, C.

I want that Activities work as follows:

A startActivityForResult B; B can start C or send result to A; C can go back to B or send result to A.

When B send result to A, B must be removed from backstack. When C send result to A, B and C must be removed from backstack.

I'm not able to send result to A from C. This means that A must be reusmed (NOT RECREATED) and onActivityResult() must be callled to process result:

I have tryed with this code but A is recreated and onActivityResult() is not called!!

Any ideas to solve this problem? Thank you

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

android - Androidアプリで次のフローを実現するにはどうすればよいですか?

アプリがプッシュ通知を受け取り、そのアクティビティの 1 つが開始されます。今、

  1. ホームを押す
  2. ホーム画面からアプリを再起動 (メイン アクティビティでアプリを起動)
  3. 押し戻す

例: アクティビティ A-->B--->C

  1. 通知起動「C」
  2. C のホームを押す
  3. アプリを再起動します (「A」が起動します)
  4. 押し戻す

奇妙なことが表示されます。戻ると、通知のクリックで起動されたのと同じアクティビティにユーザーが移動します。この場合、ユーザーは「C」に移動します

このフローは必要ありません。メイン アクティビティで戻るキーを押すと、アプリを終了する必要があります。

助けはありますか?