問題タブ [android-configchanges]
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 - 構成の変更によるフラグメントの進行に関する問題
私は現在問題に直面しています。Google が提案するようconfigChange
にを使用しないで、回転を正しく処理したいのです。Manifest
しかし、たとえばローテーション後に特にフラグメントをBackStack
.
誰かが方法を知っていますかtutorial
、投稿、SMSなど...それを行う方法を説明していますか?
あなたの答えを前もって感謝します;)
android - 構成が変更されたかどうかを知る最善の方法は何ですか?
アプリでこの情報を取得する方法がわかりません: 構成の変更によりアクティビティが再開されたことを知るにはどうすればよいですか? (構成の変更)。
私のコードでは、アクティビティが「通常どおり」再起動されたが、構成の変更によるものではない場合、メソッドを実行する必要があります。
java - 向きの変更が見過ごされるのはなぜですか?
ここで受け入れられた回答に基づいて、アクティビティに割り当てられたレイアウトを変更する最初のステップとして、このコードをアクティビティに追加しました。
...そして、AndroidManifest.xml のアクティビティの要素を変更しました。たとえば、次のように変更します。
...次のようになります。
(「configChanges」ジャズを追加しました)。
ただし、keypad.9 をマッシングするとエミュレーターの向きが反転しますが、トーストは発生しません (onConfigurationChanged() の「if」行のブレークポイントはヒットしません)。私は何を間違っているか、または省略していますか?
注: AndroidManifest の「configChanges」行から「|keyboardHidden」を削除しても違いはありませんでした (これは単なる直感でした。「キーボードによる向きの変更に注意を払わない」ことを意味するのではないかと思いました)。
アップデート
araut の提案と Jared Burrows の提案を試してみましたが、どちらもうまくいきません。
これは単にエミュレーターの問題ですか?私はまだそれをテストするデバイスを持っていないので、経験的にその質問に自分で答えることはできません.
更新 2
ここで読んだ内容に基づいて、OrientationEventListener ジャズを追加することでこのジレンマを解決できるのではないかと考えましたが、そうではありません。
これは私が追加したコードです (コンテキストで示されています。新しいのは OrientationEventListener のものです)。
...しかし、まだ反応がありません (ここまたは onConfigurationChanged() イベントからトーストは発生しません)。
android - アクティビティは縦向きモードですが、横向きモードでフラグメントが見つかります
縦向きモードと横向きモードの 2 つの異なるレイアウトがあります。
layout\activity_main.xml
:
そしてlayout-land\activity_main.xml
:
onCreate に Fragment1 を追加します。
Fragment1 には、押されたときにコールバックが Activity に送信されるボタンがあります。MainActivity のコールバックは次のとおりです。
プログラムを縦向きで起動してボタンを押すと、logcatに「1つのペイン」が出力されます。
しかし、横向きに回転し、すぐに縦向きに回転してからボタンを押すと、「2つのペイン」がlogcatに出力されます。なぜこれが起こるのですか?
android - android:configChanges を指定してもアプリが作り直される?
manifest.xml
以下のタグで指定しました
またandroid:configChanges="Orientation|keyboardhidden|keyboard"
、「方向」または「キーボードが非表示/表示」の場合にアプリの再作成を避けることを意味します
App クラスでは、すべてのアクティビティのライフサイクル コールバックを呼び出しています。また、デバイスを回転させたり向きを変えたりしても、アプリの再作成は行われないと予想していました。つまり、次のコールバックは順番に呼び出されないため、android:configChanges
. コールバックはonPause()
onStop()
onDestroy()
onCreate()
onStart()
onResume()
、デバイスを回転させるたびに、アプリが再作成され、前述のライフ サイクルのコールバックが呼び出されます。
なぜそれが起こるのか説明はありますか?