問題タブ [up-navigation]
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 - Up ナビゲーションと singleTop 起動モード
アクティビティ A があり、ツールバー項目を押すと、startActivity(intent) を使用してアクティビティ B が開始されます。戻るボタンまたは上向きのナビゲーション アイコンを押すたびに、アプリが閉じます。親アクティビティで launchMode="singleTop" を使用しているためだと思います (これを使用しているのは、検索ビューと検索可能な構成があるためです。検索用にアクティビティの別のインスタンスを開始したくないためです) )。質問は次のとおりです。アプリを閉じずに、アップナビゲーションと戻るボタンの両方を使用して、子アクティビティ(B)から親アクティビティ(A)に戻るにはどうすればよいですか? 私はそれについて検索しましたが、onNewIntent() について何かを見つけました。これが私の解決策である場合、どのように適切に使用すればよいですか?
ここに私のマニフェストファイルがあります:
新しいアクティビティを開始する方法は次のとおりです。
android - Android 上ナビゲート機構
階層ナビゲーションでは、ユーザーはツールバーの左側にある [上へ] ボタンを押して上に移動します。Jelly Bean の時点で、この機能を実現する簡単な方法があります。parentActivityName
AndroidManifest.xml ファイルに属性を追加して、階層ナビゲーションを有効にします。
ユーザーが ChildActivity から上に移動すると、次のようなインテントが作成されます。
舞台裏で正確に何が起こっているのか、特にインテントには何が含まれているのか知りたいですか?
また、親アクティビティの状態を保存したい場合。使えることが分かりますaddFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
。Android のよう
に: 親アクティビティまで移動すると、親アクティビティが再作成さ れますIntent.FLAG_ACTIVITY_CLEAR_TOP
。このフラグの標準的な動作は、親アクティビティ自体を含む、タスク スタック内の親アクティビティの上にあるすべてのアクティビティを終了してから、親アクティビティの新しいインスタンスを起動することです。
しかし、ChildActivity に次のコードを追加して、API 23 以前のデバイスで実行すると、ParentActivity は破棄されず、システムは古い親アクティビティを再開するだけです。API 23 を使用してデバイスで実行している間、ParentActivity は破棄され、システムは新しい ParentActivity をインスタンス化します。ただし、どちらの場合も、ParentActivity はその状態を保持します。何が起こっている?
そして、UP機能を実現するソースコードを見つけることができます!Google 検索を行ったのですが、必要な答えが見つかりませんでした。前もって感謝します!
android - アクションバーの戻る/ホームボタンが押されたときに呼び出されるメソッドは何ですか?
アプリの起動時に最初のアクティビティが開き、フラグメントが保持されます。ホームボタンを押すと、2番目のアクティビティがそのフラグメントから開かれ、フラグメントメソッドで onDetach -> onAttach -> onResume が呼び出されますが、2番目のアクティビティを閉じるとfinish() または onBackPressed() では、onResume() が呼び出されるだけでフラグメントが切り離されることはありません。したがって、私の質問は、ホームボタンが押されたときにどのメソッドが呼び出されるかであり、ボタンを押したときなどに同じメソッドを使用してアクティビティを閉じる可能性はありますか? 基本的に必要なのは、2 番目のアクティビティを閉じるときにフラグメントが onDetach -> onAttach を呼び出すことです。
android - スマートフォンの設定からロケールを変更すると、Android のアップ ナビゲーションの動作が異なる
Activity-AはActivity-Cを開くActivity-Bを開きます。アクティビティ B は呼び出し後に終了します。アクションバーの UP アイコンをタップすると、通常の状況ではアクティビティ A に移動します。ただし、Activity-C を開いた後、デバイス設定に移動してロケールを変更し、Activity-C を再開して UP アイコンをタップすると、Activity B が再び読み込まれます。startActivity(intent)
ロケールを変更しても、どうすれば通常の動作を実現できますか。
マニフェストのアクティビティ C については、ロケールも指定しましたconfigChanges
実価:
android:configChanges="keyboardHidden|orientation|screenSize|locale"
アクティビティ C を呼び出すアクティビティ B のコード スニペット:
android - Android のタブ、フラグメント、およびアップ ナビゲーション
ログイン ビューを持つ Android アプリを開発しています。ログイン後、タブ付きのビューが読み込まれます。各タブには一連のビューを含めることができます。構造は次のようになります
各タブは互いに独立しています。これまでのところ、ログインとタブビューがアクティビティであり、各タブに1つのフラグメントが含まれ、ビューの変更時にコンテンツが変更されるように実装しました
mViewId
onViewCreated
正しいビューをロードするために使用されます。この種の構造を実装する「正しい」方法は何ですか? ビューごとに 1 つのフラグメントを使用する方がよいでしょうか? それはどのように変化しFragmentPagerAdapter
ますか?
もう一つはアップナビです。アップボタンのアクションが現在のビューに依存するようにしたいと思います。たとえば、ビュー 1c では上ボタンでビュー 1b をロードし、1b では 1a をロードし、1a では上ボタンを表示しないようにする必要があります。フラグメントからアップボタン (またはアクションバー) にアクセスするにはどうすればよいですか? それとも、アクティビティレベルで処理する必要がありますか?
android - アクティビティ間を切り替える上へのナビゲーションが機能しない
私のアプリには基本的に、メイン アクティビティと設定アクティビティの2 つのアクティビティが含まれています。
設定アクティビティはによって起動されます
、いくつかのフラグメントが含まれています。フラグメント間の設定アクティビティで完全に機能するアップナビゲーションを使用しますが、戻るボタンを押してもメインアクティビティに戻りません。setDisplayHomeAsUpEnabled コマンドは設定アクティビティにありますが、メイン アクティビティに配置したときに問題を解決するのに役立ちませんでした。
私のマニフェストでは、メインアクティビティを設定アクティビティの親アクティビティとして宣言しました。
それで、私は何をしなければなりませんか?- どうもありがとう!
私のメインアクティビティ
My SettingsActivity: (フラグメントを省略しましたが、同じエラーが再現されます)
AppCompatPreferenceActivity: (Settings.activity によって開始)