問題タブ [android-nested-fragment]
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 - NoSuchMethodError getChildFragmentManager()
ViewPager 自体がフラグメント内にある FragmentPagerAdapter を使用して ViewPager を実装しようとしています。最新のサポート ライブラリとネストされたフラグメントを使用することで可能になるはずであるというドキュメントを読みました。主に、PagerAdapter がルート フラグメントの子フラグメント マネージャーを使用するようにしたいと考えています。
そのため、私のプロジェクトでは ActionBarSherlock と SherlockFragments を使用しています。ActionBarSherlock に同梱されているサポート ライブラリには getChildFragmentManager() メソッドがまったく含まれていなかったので、最新のサポート ライブラリ v4 をダウンロードして、ActionBarSherlock と私のプロジェクトの libs フォルダーにも配置しました。この変更により、プロジェクトは正常にコンパイルされますが、最初の実行では getChildFragmentManager() に関する NoSuchMethodError で終了します。ここで何が間違っていますか?
(PS は、ターゲットとする最小プラットフォームである Android 2.2 でテストしています。)
ありがとう!
解決済み: プロジェクトとすべての参照ライブラリのサポート ライブラリを最新バージョンに置き換えました。次に、プロジェクトをクリーンアップしましたが、参照されているライブラリもクリーンアップして再構築するのを忘れていました...これにより、この奇妙な動作が発生しました。
android - Android フラグメント アニメーション onResume
状況は次のとおりです。
API 17 で導入された子フラグメントを使用しています。
だから私はオンActivityA->FragmentA->ChildFragmentA
で、アニメーションを使用してバックスタックに追加し、バックスタックをポップする FragmentTransaction に移行しActivityA->FragmentA->ChildFragmentB
ます (ChildFragmentB に移動するときのアニメーションと、押し戻して ChildFragmentA に移動するときのアニメーションがあります)。
次に移動しますActivityA->FragmentB
(FragmentA はもはや接続されていません)。が表示されているActivityA->FragmentA
場所に戻ると、から来たときと同じようにアニメーション化されます。 ChildFragmentB
ChildFragmentB
ChildFragmentA
再開時にこのアニメーションを無効にしたいActivity->FragmentA
。ただし、子フラグメント間を移行するときはそのままにしてください。このアニメーションは FragmentTransaction で設定されます。これを実現する方法はありますか?
android - ダイアログでの Android Maps API v2
ダイアログに GMaps を表示しようとしていますが、できますか?
私はレイアウトを持っています
以下のように、この XML をダイアログに膨らませます...
しかし、インフレ中にランタイムエラーが発生します...
誰でもこれで私を助けてもらえますか??
android - null を返す getParentFragment
私は を持ってFragment
いFrameLayout
ます。この最初のフラグメント (A) は、その Framelayout 内に別のフラグメント (B) をロードします。getParentFragment
内部フラグメント (B) から呼び出すと、 が得られnull
ます。この方法はどのように適切に使用する必要がありますか?
android - フラグメント インスタンスを取得する Google マップ v2
タブにあるマップを作成しようとしています。android版2.2からGoogleマップに対応するようサポートライブラリを追加しました。主な問題は、タブがフラグメントであり、ネストされたフラグメントがサポートされていないことです。2 つの xml ファイルを作成しました
。1) 相対レイアウトがあり、タブで onCreateView() メソッドが呼び出されると膨張し
ます。 SupportMapFragment
2 番目の xml ファイルは拡張され、最初の xml ファイルに追加されます。 相対レイアウト。マップは表示されますが、フラグメントのインスタンスを取得できません。ビューでフラグメントからインスタンスを取得する方法はありますか?
android - android.view.InflateException:クラスフラグメントの膨張中にエラーが発生しました
次のエラーが発生しました:
タブ間を水平方向にスワイプするアクションバーシャーロックを備えたAndroidアプリを作成しています。タブごとにフラグメントをロードしましたが、これらの1つに問題があります。このフラグメントには、ネストされたフラグメントがあります。これは、プルして更新するリストに不可欠です。したがって、私は次のレイアウトを持っています:
そして、次のコードスニペット:
この問題は、タブ間をスワイプしているとき、およびフラグメントが再描画されているときに発生します。
お知らせするために、私はサポートライブラリv4を使用しています。
android - 遷移アニメーション中にネストされたフラグメントが消える
シナリオは次のとおりです。アクティビティには fragment が含まれており、フラグメントを追加するために使用A
されます。getChildFragmentManager()
A1
A2
onCreate
これまでのところ、すべてが期待どおりに動作しています。
次に、Activity で次のトランザクションを実行します。
移行中、enter
フラグメントのアニメーションB
は正しく実行されますが、フラグメント A1 と A2 は完全に消えます。popEnter
[戻る] ボタンでトランザクションを元に戻すと、トランザクションは適切に初期化され、アニメーション中に正常に表示されます。
私の簡単なテストでは、もっと奇妙になりました - 子フラグメントのアニメーションを設定すると (以下を参照)、exit
フラグメントを追加するとアニメーションが断続的に実行されます。B
私が達成したい効果は単純です -フラグメント( exit
anim2 ) のアニメーションを実行して、ネストされた子を含むコンテナー全体をアニメーション化します。popExit
A
それを達成する方法はありますか?
編集:ここでテストケースを見つけてください
Edit2 : @StevenBile に感謝します。静的アニメーションを試し続けるように促してくれました。どうやら、操作ごとにアニメーションを設定できるようです (トランザクション全体にグローバルではありません)。つまり、子は無期限の静的アニメーション セットを持つことができますが、親は別のアニメーションを持つことができ、すべてを 1 つのトランザクションでコミットできます。 . 以下の説明と更新されたテスト ケース プロジェクトを参照してください。
android - executePendingTransactions エラーへのフラグメント再帰エントリ
次のようなエラーがあります。
MyActivity.m_oPager.setCurrentItem(iCurrentView);
以下のこのアダプターに関連するアクティビティで行う行で:
android - 子フラグメントは正当な理由もなく破棄されます
情報:の中に2ペインのレイアウト(2つの子Fragments
)があります。ParentFragment
もちろん、これはの中にありFragmentActivity
ます。私はに持っsetRetainInstance(true)
ていParentFragment
ます。向きを変更しても、左側の子フラグメントは破棄されonCreate()
ません(呼び出されません)。これは正常です(親がインスタンスを保持しているため)。
問題:向きを変えると、右側のフラグメントが破壊されます(onCreate()
呼び出されます)。なぜ地獄は右の断片が破壊され、左の断片は破壊されないのですか?
編集:を削除するsetRetainInstance(true)
と、左側のフラグメントが2回onCreate()
呼び出され(lol wtf)、右側のフラグメントが1回呼び出されます。だからこれも良くない...onCreate()
ParentFragmentの以下のコード:
LEソリューション:antonytに
感謝します、答えは以下のとおりです。実行するために必要な唯一の変更は、親のonCreateView()内にありますFragment
。
android - ViewPager でタブを使用すると、「Java.lang.IllegalStateException アクティビティが破棄されました」というエラーが発生する
タブ モードで ActionBarSherlock を使用するアプリケーションがあります。5 つのタブがあり、各タブのコンテンツはフラグメントを使用して処理されます。ただし、tab2 の場合、いくつかのフラグメント ページを持つ ViewPager 要素を保持する xml ファイルのフラグメントがあります。アプリケーションを最初に起動すると、問題なくタブを切り替えることができますが、tab2 を 2 回目に押すと、上記のエラーが発生します。主な活動は以下の通りです。
ViewPager を使用しないフラグメント クラスは次のとおりです。
ViewPager を使用したフラグメント クラスは次のとおりです。
私が別の場所で読んだことから (間違っている場合は修正してください)、これは、2 番目のパスのフラグメント マネージャーが、存在しないアクティビティのフラグメントを再利用しようとするために発生し、エラーが発生します。しかし、フラグメント アクティビティを使用していないため、ここでこれが発生する理由はわかりません。logcat によると、エラーは Tab2 クラス、mViewPager.setAdapter(mMyFragmentPagerAdapter) という行の onViewCreated メソッドにあります。どんな助けでも大歓迎です...ありがとう。