問題タブ [orientation-changes]

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 に答える
372 参照

java - AsyncTask が実行していたものを調べる方法は?

私のアクティビティの 1 つで、さまざまなイベントで実行できる最大 6 つの異なる AsyncTasks を使用しています。すべての AsyncTask は、向きの変更を適切に処理します (少なくとも私はそう願っています)。onRetainNonConfigurationInstance() では、現在実行中の AsyncTask の AsyncTask オブジェクトを返します。後で onCreate() の実行中に、getLastNonConfigurationInstance() から返された AsyncTask オブジェクトを確認する必要があります。

すべての onPostExecute() メソッドで Activity コンテキストを使用して、新しいアクティビティを取得します (新しいアクティビティがある場合)。私はこの概念を StackOverflow で見つけ、少し修正しました。「方向変更時に実行中のタスクをゴミ箱に捨てる」というパラダイムが気に入らないからです。この概念が正しいことを願っています。

以下に示すコードには、2 つの異なる AsyncTask があります。onRetainNonConfigurationInstance() の間、現在実行中の AsyncTask を返します。私の問題は onCreate() 内にあります。どのオブジェクトが返されたかを調べる方法は? 向きの変更が発生したときに実行されていた AsyncTask は何ですか?

両方の AsyncTask は多くの領域で異なっているため (ここには示されていません)、独自の拡張 AsyncTask ベース オブジェクトは使用しませんでした。

よろしくお願いします。

0 投票する
4 に答える
5993 参照

ios - iOS: viewWillAppear で現在の向きを把握するにはどうすればよいですか?

UIWebView縦向きか横向きかに応じて異なる URL を読み込みたいと考えています。現在の方向が内側にあることをどのように把握できviewWillAppearますか?

0 投票する
6 に答える
38675 参照

android - さまざまな向きの ActionBar のタブにフラグメントを割り当てる

3 つのフラグメントと 1 つのアクティビティがあります。ActionBarのタブを有効にして、3 つのタブのそれぞれにを割り当てたいと考えていFragmentます。それを正しく接続するにはどうすればよいですか?

元の投稿

Google I/O アプリをガイドとして使用して開発中のアプリがあります。にタブを実装しましたActionBar。タブレットの向きが変わるまで動作しているようです。たとえば、3 つのタブすべてにFragment. それらをうまく切り替えることができますが、方向を変更すると、Fragment最後に表示していたものが表示されたままになりますが、タブをクリックしてもビューが変更されなくなります...それらが切断されたように. 予想どおり、元の向きに戻っても「修正」されません。

状態の保存と復元を調べましたが、それらがどのように役立つかわかりません。

編集

モジュール レベル:

私は活動の中にこのようなものを持っていますonCreate:

そしてTabListenerこのような:

編集これは削除されます

編集

を移動しましたTabListener。別のクラスにする代わりに、 に を実装しTabListenerますActivity。次に、SelectedandUnselectedメソッドには次のようなものがあります。

それは今でも同じことをしています。何が起こっているのか本当にわかりません。

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

android - DialogFragment-Chain のようなウィザード

Android デベロッパーの皆さん、こんにちは。

私は 2 つの DialogFragments を連続させようとしているので、最初のものがキャンセルされると 2 番目のものがポップアップします。

これが私がこれまでに持っているものです:

私のアクティビティでは、次のメソッドを呼び出します。

私の DialogFragment には、キャンセルされることを検出する次のコードがあります。

アクティビティに戻り、2 番目のダイアログを開始して、そのイベントに対応します。

最初のダイアログで向きを変更しない限り、これは完全に機能します。私が持っていると、次のエラーが表示されます。

java.lang.IllegalStateException: onSaveInstanceState の後にこのアクションを実行できません

この例外は、「newFragment.show(getSupportFragmentManager(), "mySecondDialogTag");」という行で発生します。

この問題を解決する方法を考えたのは、最初のダイアログを手動で閉じることです。私は次のことを試しました:

ここでも、向きを変更することなく、すべてが正常に機能しています。最初のダイアログが画面に表示されているときに方向を変更すると、「firstFragment.dismiss()」行で NullPointerException が発生します。

なぜそれが起こっているのですか?FragmentManager が向きを変更した後に DialogFragment を忘れてしまうのはなぜですか。Androidリファレンスは次のように述べています。

show(FragmentManager, String) または show(FragmentTransaction, String) を使用して DialogFragment のインスタンスを UI に追加する必要があります。これらは、ダイアログが閉じられたときに DialogFragment が自身を削除する方法を追跡するためです。

私は show を使用していますが、まだ正しく動作していません。

どんなヒントでも大歓迎です!

乾杯 Ali3n

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

ios - AS3 iOS は「アニメーション化された」向きの変更を防止します

私はiOS用のアプリでフラッシュCS5.5で作業しています。iPad/iPhone で orientationChange のアニメーション化を停止し、直接変更したいのですが、これは可能ですか?

これは解決策だと思いましたが、AS3 には役に立ちませんでした - iOS は横向きモードのみを強制しますか? .

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

android - Android: 向きの変更後に ListFragment のリスト アダプターを設定すると、リストが空になる

Android アプリで向きの変更を処理しようとしています。向きが変更された後、ListFragment のアダプターを設定しようとしているときに問題に直面しました。例外はありませんが、リストは空のままです。指定されたデータで満たされていません。

向きを変えると、アクティビティ全体が再作成されることを認識しています。また、古いオリエンテーションから新しいオリエンテーションにデータを渡す方法も実装しました。ListFragment.setAdapter() を呼び出す直前に、データの ArrayList が空ではなく、以前とまったく同じデータが含まれていることを確認しました。また、カスタム アダプター クラスは初めてリストを完全に満たすので、このクラスに欠陥はないと確信しています。

また、私は 3.0 より前のデバイスをターゲットにしているのでandroid.support.v4.app.ListFragment、ListFragment を実装するために使用しています。

これが私の onCreate() メソッドです:

どんな助けでも大歓迎です。

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

android - 閉じた後にアラートダイアログを再表示する方法

私は約一週間机に頭を打ちつけてきました。うまくいけば、誰かが助けることができます。

これが私がやろうとしていることです。

  • ログインアラートダイアログを表示します。-おそらく私はストックルックが好きなので、alertdialog.builderは私にとってうまく機能します。カスタムダイアログを作成しようとしましたが、ボタンが正しく表示されないようです。

  • パスワードが正しい場合はアクティビティを開始しますが、パスワードがキャンセルまたは修正されるまでダイアログを再表示しない場合。

簡単そうに聞こえますが、頭を包むことができません。私のコードはジャンクに見えます。私はものを切り取って貼り付けてきました。

私は元々、getpasswdメソッドを作成時に呼び出していました。パスワードが正しくない場合はそれぞれ呼び出していました。向きの変更に不幸なことに、私の窓が漏れました。だから私はこのoncreatedialogのものを試しましたが、リークはもう発生しませんが、回転の間に編集テキストテキストボックスを保持できず、入力が正しくなくても[OK]ボタンを押した後にダイアログを再表示できません。任意のポインタをいただければ幸いです。

ありがとう。

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

ios - テーブルのサイズと向きを変更する

プログラムで 1 つのテーブルを作成し、向きの変更に応じて変更したいと考えています。問題は、アプリを起動すると、向きに関係なくテーブルが常に同じ場所に表示されることです。

メソッド updateViewOnRotate が初めて 3 回呼び出される理由がわかりません。

コードはすべて UIViewController という 1 つのクラスにあります。

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

sencha-touch - Sencha Touch: アイテムを削除し、向きの変更などでビューを更新する

返信ありがとうございます。プレーンでシンプルな形の新しいビューを作成しました。下記参照:

上記のビューで期待するのは、最初のロードと縦向きで、上部パネル (黄色) と下部パネル (青色) の 2 つのパネルがあります。通常どおり回転すると、同じ効果が得られます。

しかし、私が求めているのは、横向きに回転すると、上部パネル (黄色) が削除され、下部パネル (青色) が残りのスペースを埋めることです。

次に、縦向きに戻すと、両方のパネルがデザイン サイズに戻ります (flex:1)。

上記のコード (クロムでのテスト) を使用して何が起こっているかというと、上部パネル (黄色) が上部に残っていますが、高さがわずかに小さく、本来のように消えません。

とにかく、私が持っている 2 つのコンソール トレース コマンドに注意してください。これらは、ローテーションで次の読み取り値を示しています。

最初の読み込み後、横向きに回転すると、出力は次のようになります。

L: 風景

L: 風景

存在しないコンポーネントを削除しようとしました。Ext.Container: remove は、削除するコンポーネントの引数を取ります。cmp.remove() は間違った使い方です。

L: 風景

存在しないコンポーネントを削除しようとしました。Ext.Container: remove は、削除するコンポーネントの引数を取ります。cmp.remove() は間違った使い方です。

L: 風景

存在しないコンポーネントを削除しようとしました。Ext.Container: remove は、削除するコンポーネントの引数を取ります。cmp.remove() は間違った使い方です。

縦向きに戻すと、次の出力が得られます。

L: 風景

存在しないコンポーネントを削除しようとしました。Ext.Container: remove は、削除するコンポーネントの引数を取ります。cmp.remove() は間違った使い方です。

L: 風景

存在しないコンポーネントを削除しようとしました。Ext.Container: remove は、削除するコンポーネントの引数を取ります。cmp.remove() は間違った使い方です。

P:ポートレート

P:ポートレート

したがって、風景の回転でこれを見ると、実際にはonorientationchange関数を 4 回起動する方法がいくつかあります。最初の 1 つは既に削除されているため、他の 3 つはエラーで問題ありません。

次に、ポートレートのものを使用すると、横向きの呼び出しとして2つ登録され、次に縦向きの呼び出しとして2つのヒットが登録されます。

これはすべて 1 回の移動で行われるため、何らかの理由でコードの削除と追加が予測どおりに機能せず、回転時に向きが 4 回呼び出されるのを防ぐ方法はありますか??

この開発についてアイデアを持っている人は、気軽に参加してください。

これまで助けてくれてありがとう Si

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

java - Handler().postDelayed() が向きが変わったときに複数のインテントを送信する

わかりました、1.5 秒間一時停止し、1 つのことを除いてうまく機能するスプラッシュ スクリーンに取り組んでいます。構成 (方向) が変更された場合に が開始されると、がtimerリセットされ、最終的に2 回開始されます。 onCreatetimerParchmentActivity.java

ハンドラーがインテントを 2 回送信しないようにするにはどうすればよいですか?

前もって感謝します!

完全なコードは @: https://github.com/n00bware/android_apps_parchmentにあります。

これが私のコードです(例http://www.anddev.org/novice-tutorials-f8/splash-fade-activity-animations-overridependingtransition-t9464.htmlから):