問題タブ [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.
android - バックスタックに既に存在する場合は、開始ではなくアクティビティを再開します
私はActivity_1
多くのステップの後、言う
Activity_2
> Activity_3
.... にActivity_n
関連するいくつかのデータを変更しActivity_1
て、
コンテンツを更新するには。Activity_1
しかし、後で、古いデータがある最初の場所に戻ることができます。
代わりに、上記のコードを使用して、最初Activity_1
の 'sを呼び出す必要があります。onResume()
または適切なフラグ
FLAG_ACTIVITY_CLEAR_TOP
A、B、C、D のアクティビティで構成されるタスクを考えてみましょう。D がアクティビティ B のコンポーネントに解決されるインテントで startActivity() を呼び出す場合、C と D は終了し、B は指定されたインテントを受け取り、結果としてスタックは次のようになります: A, B.
それはドキュメントが言うことですが、私が得ているものではありません。
android - Android:singleTop / singleTaskモードでアプリケーション(AIDL)をバインドする
2つのAndroidアプリケーションをAIDLファイルにバインドしました。AアプリケーションとBアプリケーション間の交換は次のようになります。
- AアプリケーションはAIDLインターフェースを介してBアプリケーションに接続します
- アプリケーションがBサービスのメソッドを呼び出す
- BサービスはPendingIntentを返します
- アプリケーションがPendingIntentを開始します
- Bアプリケーションでアクションが終了したら:Aアプリケーションに戻ります
ただし、交換前にBアプリケーションが起動された場合、ユーザーは、Aアプリケーションではなく、「finish()」メソッドを呼び出した後、Bアプリケーションの最後のアクティビティにリダイレクトされます。
私のAアプリケーションでは:
Aアプリケーションマニフェストファイルでandroid:launchModeをsingleTaskまたはsingleTopに設定しようとしましたが、問題は同じままです。ご覧のとおり、アクティビティを送信するときに「FLAG_ACTIVITY_MULTIPLE_TASK」フラグも設定します。
私のBアプリケーションのコード:
保留中のアクティビティの作成
BillingActivityで
読んでくれてありがとう !
- -アップデート
Bアクティビティのマニフェストファイル:
android - バックスタックが数十の再インスタンス化されたアクティビティでいっぱいになることを許可しますか?
これは単純な質問ですが、決定を下すのに役立つ明確な情報が見つかりません。
特定のオブジェクトに入力され、クリアされてから次のオブジェクトに入力される 2 つのフォーム (2 つのアクティビティ) を持つアプリケーションがあります。これは、特定のアプリケーションの実行中に 100 回以上実行される可能性があります。したがって、バックスタックには 100 以上のアクティビティが取り込まれる可能性があります。
そのデータはすべて sqlite データベースに保存されるので、バックスタックがそのようにいっぱいになるのを許可する必要がありますか? パフォーマンスへの影響は何ですか - フォームの何百ものインスタンスを保存すると、確実に負担がかかり始めます。これらのインスタンスは十分に効率的に保存されているので、これについて心配する必要はありませんか、それともバックスタックには何らかの制限がありますか? 入力されたデータだけをバックスタックに保存する方法はありますか、それとも保存された「インスタンス」は入力されたデータだけで構成されていますか? 代わりに onbackpressed で sqlite データベースをクエリすることは、バックスタックが以前のフォームをロードできるようにするよりもはるかに効率が悪いですか? 既存のインスタンス ala をリロードし、FLAG_ACTIVITY_SINGLE_TOP
既存の入力データをクリアする方法はありますが、それ (データ) をバックスタックに保存しますか?
私は常にAndroidの戻るボタン、バックスタック、およびアクティビティ管理の動作を変更するのは悪い考えであると読んだり言ったりしてきました。
両方のフォームからのデータは、この質問の 2 番目の段落よりもサイズが大きくないと思います。
ご協力ありがとうございました。
JoxTraex に応じて編集:
fill -> add -> fill -> add -> n -> commit
することができます
fill activity A and then instantiate and fill B -> transact to DB -> REinstantiate and fill A then REinstantiate and fill B -> transact to DB -> n -> commit
私は正しく理解しましたか?
その場合、A と B の新しいインスタンスをインスタンス化するのではなく、リロードすると、バックスタックの問題が解決されます。これは、バックスタックの問題が 2 つしかないためです。
バックスタックに 2 つのアクティビティしかなかったので、以前に入力したデータをリロードonbackpressed
するのか、それとも 2 回しか機能しないのか。
android - onBackPressed() でアプリケーションを閉じる
フラグメントを使用するアプリケーションがあります。アプリの起動時にこれを行います:
ご覧のとおり、ユーザーがフラグメントのない空のアクティビティに巻き込まれたくないため、バックスタックに追加しません。しかし、それはうまくいきません。画面の戻るボタンを押すとmaster
、フラグメントが閉じられ、黒いアクティビティが残るためです。今私はonBackPressed()
私を助けるためにメソッドをオーバーライドします:
しかしCreamyActivity.this.finish();
、再びフラグメントを閉じて空のアクティビティにドロップするときはいつでも(まるでバックスタックをたどっていたかのように)(これはすべてアクティビティにあります!)
私はあなたが私を助けることができるかどうか疑問に思っていました. 通常、アプリは自動的に終了するべきではありませんが、ここで回避策を提供していただければ幸いです。それとも、バックスタックに何か問題がありますか? とにかく自動的に追加しますか?
よろしくお願いします<3
android - Android の最大 BackStack サイズ
私はアンドロイド開発の初心者です。AndroidのBackStackの最大メモリ サイズを
知りたいAndroid アプリケーションのアクティビティをBackStackに保存できる数を知りたい
ありがとう
android - フラグメント間の戻るボタンの問題 (バックスタック)
3 つのタブを持つアプリがあります。これらのタブのうち 2 つには、次のコードを使用して現在のフラグメントを新しいフラグメントに変更するボタンがあります。
通常のフラグメントであるタブの場合、マップフラグメントに変更すると、戻るボタンを使用すると、問題なく元のフラグメントに戻ります。
ただし、マップフラグメントである別のタブを通常のフラグメントに変更すると、戻るボタンを押したときに同じアクションが得られません。押すと、ビューが白/黒のビューに変わります。
これは、戻るボタンが機能しないタブ内のトランザクション コードです。
なぜこれが起こるのか知っている人はいますか?何か助けはありますか?
android - どのフラグメントが Android のバック スタックからロードされているかを確認する方法
私は初心者レベルの Android プログラマーです。今はアプリ開発の後で、私は自分のアプリでフラグメントを使用しています。
たとえば、3 つのフラグメント (たとえば、A、B、C) と 3 つのビュー (たとえば、View1、View2、View3 (これらはイメージビューである可能性があります)) があります。そして、iam Loading Fragment A View1.setVisibility(true) View2.setVisibility(false) View1.setVisibility(false) および iam load Fragment B View1.setVisibility(false) View2.setVisibility(false) View1.setVisibility(true) このようにFragment Cの場合も。しかし問題は、これらがバックスタックに追加されることです。戻るボタンを押すと、もちろん正しいフラグメントが読み込まれますが、ビューの可視性は復元されません。
誰でも私を助けてくれませんかありがとう