問題タブ [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 投票する
1 に答える
313 参照

android - 発信者のマニフェストファイルから読み取ったAndroidライブラリ

Android開発の初心者であり、以下に関するベストプラクティスを求めています。

複数のアプリ用のライブラリを構築しています。ライブラリ呼び出し用に持っているパラメーターの1つは、appnameです。親構成ファイルからこれを取得してAPIインターフェイスをクリーンアップし、どこでも必要とされないようにすることはできますか?コンテキストの受け渡しについても同じ質問がありますが、セキュリティ上の理由から、それほど簡単ではないかもしれません。

呼び出し元の構成を読み取ることができる場合、次の質問は、このappnameパラメーターを呼び出し元のマニフェストに追加する必要がありますか?

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

android - TabActivity の onConfigurationChanged に関する問題

TabActivity と、タブに他の 3 つのアクティビティがあります。マニフェストファイルには次の行があります:

<activity>TabActivity のタグと、他の 3 つのアクティビティのタグに含まれています。onConfigurationChanged(Configuration newConfig)また、すべてのアクティビティメソッドでオーバーライドしました。そして、ほとんどすべての場合に適切に機能します。その後、横向きモードのみで電話画面が空白になり、ホームボタンをクリックしました。次に、onConfigurationChanged メソッドが呼び出されていない向きを変更したいと考えています。

私は Toast クラスを使用しており、TabActivity の onConfigurationChanged メソッドのみが現時点で呼び出されていることを知っていますが、タブの現在のアクティビティのこのメソッドは呼び出されていません。ただし、向きをもう一度変更すると、アクティブなタブの現在のアクティビティの onConfigurationChanged メソッドが最後に呼び出されました。このバグを修正するにはどうすればよいですか? 私のコードは正しく動作しますが、この場合は動作しません。

TabActivity でタブを切り替えて向きを変更すると、同様の問題が発生することに気付きました。しかし、今はそれがいつ機能し、いつ機能しないかを説明できません。私は立ち往生しています。私は、TabActivity の onConfigurationChanged メソッドが常に呼び出されていることを知っています。しかし、このタブでのアクティビティの方法は常にではありません。

0 投票する
3 に答える
1101 参照

android - Android save certain values on rotation

I have an activity that runs asynctasks among other things, I don't want everything to be reset when the layout changes.

I put this in the activity's manifest element android:configChanges="orientation" but unfortunately the activity doesn't even switch from the landscape to portrait layout anymore when that is there!

I only halfway understand saveInstanceStates and passing Bundles around, and I'm definitely not sure how to use that with complex data objects, insight appreciated there

What I would like to do is make sure that the asynctasks don't run again, (I could save variables to disk, and do a conditional check for them before running the asynctask) if there is some android way to really watch out for this that would be great!

thanks

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

android - 構成変更後に変数への参照が失われました

ユーザーの場所 (MyLocation クラス) を検索するアクティビティがあり、ジオポイントの有無にかかわらず、AsyncTask を実行してサーバーに接続し、サーバーから都市のリストを取得します。リストの準備ができたら、それらを ArrayList の都市に保存します。都市のArrayListがいっぱいになったら、それを永久に保存したいと思います(構成変更の証拠)。CityItem は Parcelable を実装しています。それらを onSaveInstanceState に保存し、onCreate で取得します。

これで、タスクが完了し、都市リストが満たされていれば、すべて正常に機能します。次に、デバイスを前後に回転させ、Log.i("StartActivity", "Cities list Download:"+cities.toString()); 呼ばれます。

しかし、ジオポイントが見つかる前にデバイスを回転させた場合(またはタスクが終了した場合 - 高速に発生するためわかりにくい)、

が呼び出されます (そして都市はログで完全に問題ありません) が、もう一度ローテーションするとArrayList の都市が再び null のように見えます

構成が変更され、savedInstanceState.cities が null だった場合、ArrayList の都市が何らかの形で再度作成され、gotCities() 関数内のものと同じ ArrayList ではないようです。

それは簡単なことだと確信していますが、私は何時間も答えを探していましたが、単にそれを行うことができません.

活動のコード:

gotCities() メソッドは AsyncTask onPostExecute から呼び出されます。

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

android - 向きの変更時に onLayout と onSizeChanged が 2 回呼び出されるのはなぜですか?

アクティビティからの構成変更を処理するときに、onLayout と onSizeChanged が横向きから縦向きまたは縦向きから横向きに変更された直後に2 回連続して呼び出されることに気付きました。さらに、最初の onLayout/onSizeChanged には古い寸法 (回転前) が含まれ、2 番目の onLayout/onSizeChanged には新しい(正しい) 寸法が含まれます。

理由、および/またはこれを回避する方法を知っている人はいますか? onConfigurationChangedおそらく、画面サイズの変更は、構成の変更後かなり時間がかかるようです。つまり、が呼び出されたときに構成の変更直後に寸法が正しくありません

以下のコードのデバッグ出力は、縦向きから横向きに回転した後の onLayout/onSizeChanged 呼び出しの両方を示しています (デバイスは 540x960 であるため、横向きの幅は 960 で、縦向きの幅は 540 であることに注意してください)。

また、最初の onSizeChanged の oldwidth と oldheight が 0 であることにも注意してください。これは、ビュー階層に追加されたばかりであることを示していますが、ランドスケープの寸法が正しくありません!

この動作を示すコードは次のとおりです。

MyActivity.java

MyHorizo​​ntalScrollView.java

AndroidManifest.xml

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

android - configChangesがTabHostによって認識されませんか?

TabHostにかなり大きな問題があります。向きとkeyboardHiddenを無視するようにすべてのアクティビティ(TabHostアクティビティを含む)を宣言しましたが、電話(Android 4.0)を裏返すと、アクティビティが再作成されます。

これが私のマニフェストの短縮版です。

活動のコードが役に立たないと思いますか?!
ただし、よろしければお知らせください。投稿します。


敬具

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

android - uiModeまたはキーボードの変更アンドロイドの検出

構成の変更が発生したときにトースト メッセージを中継するだけのテスト アプリケーションを作成しようとしました。(それが本来の動作であり、機能しません) 最終的な目的は、ユーザーがタブレットをキーボード クレードルに置いたのか、キーボード クレードルから取り外したのかを検出することです。私のマニフェストと主なアクティビティは以下のとおりです..タブレットの構成が uiMode または外部キーボードに変更された場合、このコードはトーストを起動すると思いました..しかし、ドッキング/ドッキング解除しても何も起こりません..助けてください

私のマニフェスト:

私のJava:

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

android - 「タッチスクリーン」と「ナビゲーション」の構成変更はいつトリガーされますか?

の Android のドキュメントを読むとandroid:configChanges、次のことがわかります。

うーん..わかりました。では、ここでの「通常」とはどういう意味ですか? それは時々起こるということですか?これがいつトリガーされるかについて、誰かが例を挙げてもらえますか?

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

android - onConfigChanged()デバイスの向きが変更されたときに呼び出されない

アプリで向きの変化をキャプチャするのに問題があります。デバイスの向きが変わったときにアプリフォームが再起動しないようにしたい。

私のアプリには3つのアクティビティがあります(3つ目はFragmentActivityです)。主なユーザーインタラクションはFragmentActivityを介して行われます。

すべてのアクティビティが次の属性を持つようにマニフェストを変更しました。

android:configChanges="orientation"

また、すべてのアクティビティでメソッドをオーバーライドし、onConfigurationChanged()実際に呼び出されるかどうかを確認するために、Log.i()ステートメントを含めましたが、何も報告されていません。

私は現在エミュレーターでこれをテストしており、CTRL+F12を実行すると向きの変化が報告されます。

I / ActivityManager(67):構成が変更されました:{scale = 1.0 imsi = 310/260 loc = en_US touch = 3 keys = 2/1/2 nav = 3/1 orien = 1 layout = 34 uiMode = 17 seq = 10}

私が見逃しているものはありますか?

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

android - 設定変更中に onDraw() 関数が再起動しないようにする

基本的にしばらくスリープし、別のアクティビティを初期化するアクティビティがあります。この睡眠時間中に、私は画面上にいくつかのアニメーションを描きます。

しかし、画面の向きが変わると、アクティビティが再開されました。そのため、マニフェスト ファイルを変更することで対応しました。

1つ問題が残っています。アクティビティが再起動しないようにしていますが、SplashScreenView クラスの onDraw() 関数は引き続き再起動します。