問題タブ [onconfigurationchanged]

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 投票する
1 に答える
505 参照

android - ロケールの変更後にアクティビティが終了しました

私は持っていてActivity A、そこから電話しましたActivity B。マニフェストのアクティビティ A には configChanges があり android:configChanges="locale|orientation|screenSize"ます。

アクティビティ A - ロケールの変更

  • アクティビティ B を開始するための

    インテント インテント = 新しいインテント(this, B.class); startActivity(意図);

アクティビティ A を開始してロケールを変更すると、すべて正常に動作します。しかし、アクティビティ A を開始しようとすると、アクティビティ B を開始してから、アクティビティ A に移動してロケールを変更しますActivity A will not be restarted, it will be destroyed。アクティビティ A が破棄されないようにするにはどうすればよいですか?

0 投票する
0 に答える
394 参照

android - Android: 古いアクティビティを再作成せずに、方向が変更されたときに新しいアクティビティを開始する

ユーザーが古いアクティビティの向きを変更せずにデバイスを横向きに設定すると、新しいアクティビティを開始する必要があります。

だから、私は2つの活動をしています:

  • (1) 縦向きのみの古いアクティビティ
  • (2) ランドスケープのみの新しいアクティビティ

アプリのシナリオは次のようになります。

  • ユーザーは (1) 縦向きモードの古いアクティビティにいます
  • ユーザーが自分のデバイスのランドスケープを置き、(2) 新しいアクティビティを開始する必要があります
  • ユーザーは (2) 新しいアクティビティにあり、[戻る] ボタンを押します。新しい (2) アクティビティを終了し、(デバイスが横向きであっても) まだ縦向きである必要がある (1) 古いアクティビティに戻る必要があります。

これを達成する方法はありますか?

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

android - ConfigurationChange を受け取りますが、アプリケーションを「ローテーション」しないでください

私のアプリが縦向きモードで描かれた家を表示しているとします。

上の星は私のメニューを表しています。下のドットは、Android のソフトウェア バック、アプリ、ホーム ボタンのラインを表しています。ローテーション後にしたいことは次のとおりです。

そしてそうではない

どのようなことが自動的に起こります。

したがって、基本的には、アプリにデバイスの回転を認識させて (ランドスケープ モードまたはポートレート モードをブロックしないで)、システムのボタンがそれぞれの位置に移動するようにし たいのです、アプリケーションのビューを回転または再スケーリングしたり、ビューを変更したりしたくありません。それらのアニメーション。

どうすればそれを達成できますか?構成の変更を処理するようにアプリを宣言すると、アクティビティが再開されなくなりますが、ビューで何もしないとonConfigurationChange、コードを書かなくてもビューが再スケーリングされ、再描画されます。

全体として、構成の変更について知りたいのですが、アプリケーションの視覚化で (システムの) 変更を防止します (自分でカスタム アニメーションを設定したいと思います)。

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

java - initLoader - 構成の変更を処理する方法は?

プロジェクトで commonsware のLoaderExを使用しようとしています。そこで、LoaderExDemoプロジェクトをテストしました。それは正常に動作します。しかし、デバイスを縦向きモードから横向きモードに変更すると、ローダー変数は になりますnull

メソッドではonCreate、次のようにローダーを初期化します

loaderでは、構成の変更時に初期化しないのはなぜですか? 次に、これを修正する方法は?

Logcat レポート

ありがとう

0 投票する
0 に答える
207 参照

onconfigurationchanged - onConfigurationChange は呼び出されません

だから私は簡単なコードを持っています。画面の向きが変更されたときにレイアウトを変更したいだけです。

私のマニフェストは

したがって、エミュレーターでこれを試して、num で ctrl+f12 または 9 と 7 を使用すると、画面が反転しますが、何も起こらず、レイアウトは同じままで、機能しません。そのような onConfigurationChange は呼び出されず、 System.out.println には到達しません。

0 投票する
0 に答える
174 参照

android - configurationChange の後、フラグメント内の listView が初期化されます

基本的に、私には 3 つのフラグメントがあります。1 つのフラグメントには listView と editText があり、他の 2 つのフラグメントには、linearLayout に追加ボタンとクリア ボタンがあり、水平方向と垂直方向に配置されています。

onConfigurationChanged()構成が変更されると、レイアウトを動的に変更してフラグメントを置き換えるメソッドを呼び出す必要があります。

問題は次のとおりです。回転後、listView 内のデータが初期化され、回転前に追加されたすべての項目が失われます。

メソッドを使用してみましsetRetainInstance()たが、それでもうまくいきませんでした。

これは私のコードです

MainActivity.java

MyListFragment.java