問題タブ [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.

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

android - 向きが NavigationDrawer に干渉する

NavigationDrawer を使用するアプリがあります。

次のようにフラグメントを切り替えます。

onCreate() メソッドでは、selectItem(0) を実行します。

以前は を使用 android:configChanges="keyboardHidden|orientation|screenSize"していましたActivityが、さまざまな画面サイズと向きに合わせてさまざまなレイアウトの作成を開始したいと考えています。このコードがマニフェストにある場合、適切な名前のフォルダーを使用してこれを行うことはできません。

それで、私はそれを削除することにしました(とにかく、なぜ持っていたのか思い出せませんでした!)。ただし、これを行うと、向きが変わるたびに、表示されるフラグメントは同じままですが、アクションバーは別のフラグメント構成に変わります (以前に表示されたフラグメントだと思います)。その後、フラグメントを切り替えようとすると、アクションバー(以前に表示されたフラグメントにも変更されると思います)が、表示されているフラグメントは変更されません。

機能しないもの:

を変更.addする.replace

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

java - 2 つのアクティビティ間でデバイスをローテーションするときの configChanges の問題 [+VIDEO]

私は2つの活動をしています。アプリが起動し、2 つ目のアクティビティを開始します。装置を回転させます。最初の活動に戻ります。アニメーション中に黒い領域が表示されます。これは私が設定した方法です

私の活動で。そうしないと、すべてうまくいきます。

これを修正するにはどうすればよいですか?

実装する必要があることはわかっていますonConfigurationChanged

コードは次のとおりです。

そして2番目:

これが起こるビデオです:http://www.youtube.com/watch?v=8NLNkE1eOK8

もちろん、これは私が取り組んでいるプロジェクトではありませんが、この問題を理解するために特別に作成された例です。

ありがとう。

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

android - 向きに基づいてUIを変更する方法ですが、向きが変わったときにアクティビティの再起動を回避する方法

こんにちは、私はアンドロイドアプリケーション開発に不慣れです。アクティビティの再起動を避けるために android:configChanges="orientation|screenSize" が使用されていることは知っていますが、UI(layout-port,layout-land) の変更も許可しません。

向きが変わったときにアクティビティの再起動を回避し、UI の変更の影響も受ける必要があります。

これは実現可能ですか?「はい」の場合はすぐに返信してください。体がこれを知っているなら、私を助けてください。前もって感謝します

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

android - 期待どおりに動作するようにナイト モードのドローアブルをセットアップする方法

ナイトモードの変更に合わせて背景を変更するもの。

/values と /values-night フォルダーがあり、値が異なる「colors.xml」が含まれています。`

そしてその他は

これらの色は、背景「activity_main_bg2.xml」のレイヤー リストで使用されます。

私のアクティビティにはフラグメントが含まれています:

昼夜やバックから時間を変えても背景の色が変わらない。しかし、私が使用する場合

すべて正常に動作します。

これを解決するには?これはアンドロイドのバグですか?

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

android - SecondActivity から戻るボタンを押すと、最初のアクティビティが破棄されます

オンライン ビデオを再生する Android アプリを実装していますが、エラーが発生します。簡単にするために、ここでサンプルアプリを作成しました。MainActivity と SecondActivity の 2 つのアクティビティがあります。

MainActivity開始するボタンがありますSecondActivity。私のシナリオでは、デバイスを横向きモードにし、ボタンをクリックして開始しますSecondActivity(SecondActivity横向きモードに自動回転します)。次に、戻るボタンをすぐに押して戻りますMainActivity。しかし、MainActivityは破壊されます。これが私のログです:

MainActivity破棄され、現在のアクティビティはSecondActivityです。もう一度 Back を押すと、SeconActivityが破棄されます。MainActivityが破壊された理由、またはこれが Android OS のエラーである理由を誰でも説明できます。前もって感謝します。
P/S : この場合、デバイスを横向きにして、ボタンをクリックして SecondActivity を開始し、すぐに [戻る] を押します。
その他のケースは問題なく動作します。

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

android - バックグラウンド タスクとアクティビティ構成の変更の処理

これが私が3日間解決しようとしている問題です:

たとえば、REST クライアント アプリは多くのバックグラウンド作業 (ネットワーク呼び出し) を実行し、結果を UI スレッドにポストします。非同期で実行する必要があることは明らかです。Android では、いくつかの方法でこれを行うことができます (AsyncTasks や IntentServices など)。

アクティビティから非同期タスクを実行する際の最大の問題は、構成の変更です。たとえば、AsyncTask でダウンロード プロセスを開始し、ProgressDialog を表示するアクティビティがあります。画面の回転後、アクティビティは OS によって再作成されています。その結果、asynctask が古い (死んでいる) アクティビティの進行状況ダイアログを閉じようとすると、失敗します。

この問題にはいくつかの解決策があります。

  • 最初の 1 つは、ワーカー フラグメントに asynctask を保持することです。それを行う方法についての素晴らしい投稿はこちらです。このソリューションの大きな利点は、OS が onPostExecute() メソッドをいつ呼び出すかを知っていることです。場合によっては、古いアクティビティが破棄され、新しいアクティビティがまだ作成されていないときに、onPostExecute() が呼び出されることがあります。しかし、OS は onAttach() が呼び出される前に onPostExecute() の実行を許可していないため、これは起こりません。短所は、AsyncTasks は長時間の操作には適しておらず、OS のバージョンによって動作が異なることです。

  • 2 番目のアプローチは、LocalBroadcastManager と IntentService を使用することです。これは、それを使用する方法を示す別の投稿です。サービスが登録解除されたとき (アクティビティが再作成された瞬間)、BroadcastReceiver にメッセージを送信するとどうなりますか?

  • 3 番目の解決策はダーティ ハックです。これを mainfest で宣言しますandroid:configChanges="keyboardHidden|orientation"。私にはふさわしくありません。

多分誰かが別の解決策を知っていますか?