問題タブ [fragmentmanager]
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 - getChildFragmentManager() を呼び出す場所は?
問題
Googleのドキュメントによると:
フラグメントをフラグメント内に埋め込むことができるようになりました。これは、動的で再利用可能な UI コンポーネントを、動的で再利用可能な UI コンポーネントに配置するさまざまな状況で役立ちます。たとえば、ViewPager を使用して左右にスワイプし、画面スペースの大部分を消費するフラグメントを作成する場合、フラグメントを各フラグメント ページに挿入できるようになりました。フラグメントをネストするには、フラグメントを追加する Fragment で getChildFragmentManager() を呼び出すだけです。これにより FragmentManager が返され、トップレベルのアクティビティから通常のように使用してフラグメント トランザクションを作成できます。たとえば、既存の Fragment クラス内からフラグメントを追加するコードを次に示します。
だから私は(例えば)TestFragment
のように見えました:
で、次のMainActivity
ようにフラグメントを初期化します。
次に、フラグメントをViewPager
viaに渡しFragmentPagerAdapter
ます。
最後に、例外が発生します。しかし、私だけを使用する場合:
その後、動作します。
質問
getChildFragmentManager()
フラグメントのどこでメソッドを呼び出す必要がありますか? 私が間違っていることは何ですか?
新しい Android Nested Fragments を使用した良い例があれば、リンクを共有してください。どうぞよろしくお願いいたします。
android - ViewPager の android.support.v4.app.FragmentManager と android.app.FragmentManager
彼ら。
ViewPager
Android API 14 以降向けのアプリを開発していますが、Android サポート ライブラリに含まれているものを使用したいと考えています。
ViewPager
コンストラクタFragmentPagerAdapter
で使用する必要があります。android.support.v4.app.FragmentManager
しかし、私の活動の範囲内では、android.app.FragmentManager
それらが拡張されているという理由だけで明らかに持っていますandroid.app.Activity
(ではありませんandroid.support.v4.app.FragmentActivity
)。
に変換する方法はありますandroid.app.FragmentManager
かandroid.support.v4.app.FragmentManager
?
活動を延長することFragmentActivity
は、私にとって選択肢ではありません。
android - replace の使用時にフラグメントが onPause または onStop を呼び出さない
フラグメントを別のフラグメントに置き換えたときに、フラグメントが onPause や onStop などのエンド ライフサイクル メソッドを呼び出していないという奇妙な問題があります。このようにフラグメントを置き換えます
同じフラグメントが以前に表示された後、同じフラグメントを再度置き換えた後、popBackStack が原因で、onStart の前に onStop を呼び出しても、何らかの形でフラグメントを生かしていると思いますか?
android - 空白を残してフラグメントを非表示
私は3つのコンテナ(LinearLayoutも)を持つLinearLayoutを持っていますが、これらにはweight=1
. そのレイアウトは次のとおりです。
これらのコンテナのそれぞれに、1 つのフラグメントを追加します。
したがって、これらは次のように配置されています。
ボタンをクリックすると、最初にコンテナと一緒にフラグメントを非表示にし、の右側にある新しいフラグメントを表示しfragment3
ます。したがって、次のようなものがあります。
ボタンをクリックすると、これを使用してフラグメントを非表示にします。
コンテナと一緒にフラグメントを非表示にしますが、表示される画面は次のようになります。
ここでempty
は、完全に空、フラグメント、コンテナー、何もない、ただの空のスペースを意味します。
それで、私の質問は、そこに空白を残さずにフラグメントを非表示にする方法ですか?
android - ActionBar タブのフラグメント内でのフラグメントの追加/置換
ここで基本が欠けているかどうかはわかりません。アクション バー タブをホストするアクティビティがあります。つまり、ここに MainActivity の構造があります -> 2 つの ActionBar タブ F1 と F2 があります|| Frag.java は、置き換えられる FrameLayout を定義する xml をホストするコンテナー フラグメントです|| F1 は Frag1.java であり、Frag1.java は明らかに古き良きフラグメントです|| F2 は Frag2.java で、Frag2.java は別のフラグメントです MainActivity で2つ のタブを作成します。これは起こりません。何が問題なのですか。
(理想的には、タブの下のフラグメントをボタンクリックイベントで別のフラグメントに置き換えたい)
これが私の主な活動です
MainActivity.java
そして、私の単純なフラグメントに来て、Frag、Frag1、frag2の3つのセットアップがあります
以下はfrag.javaです
以下は私のparent.xmlです
以下はfrag2.javaです
上記のフラグメントでは、ボタンのクリックがフラグメントを置き換えることになっていることがわかりますが、このフラグメントを配置することさえできません。
私は3日間からこれをジャグリングしています。ここで助けや提案をいただければ幸いです。または、誰かが私が間違っている場所を教えてくれれば素晴らしいでしょう!