問題タブ [fragmentpageradapter]
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 - Android: viewPager でフラグメントの読み込みを制限する
viewPager に設定された FragmentPagerAdapter によって管理される 3 つのフラグメントがあります。
フラグメントを1つずつ読み込みたいのですが、FragmentActivityのonCreateメソッドを実行すると、最初の2つのフラグメントが実行されます(onCreateViewメソッド)。
setOffscreenPageLimit メソッドを使用してフラグメントの読み込みを制限しようとしましたが、何も変わりません。
ご協力ありがとうございました 。
android - FragmentPagerAdapter内にフラグメントのインスタンスを保持します
FragmentPagerAdapter
内部用に作成されたすべてのフラグメントのインスタンスを保持しても大丈夫FragmentPagerAdapter
ですか?
このようなもの:
メモリの問題が発生しますか?
アイデアはMyFragmentPagerAdapter.fragment0
、フラグメントへの参照を取得するために次のようなことを行うことです。
android - アクティビティの再開時に FragmentStatePagerAdapter の画像を更新する
FragmentStatePagerAdapter
小さなギャラリーを提供するために使用するアクティビティを作成しました。ただし、アクティビティが再開されたときに更新することはできません (たとえば、他のアクティビティから戻った後)。最初の 2 枚の写真が空白になるたびに、2 枚の写真を横にスワイプした後にのみ更新されます。私が見つけた答えはどれもうまくいきませんでした(特にオーバーライドgetItemPosition()
)
私は次のように設定しました:
次に FragmentStatePagerAdapter クラスがあります。
お気づきかもしれませんが、getItemPosition で RuntimeException をスローします。これは、いつ呼び出されたかを確認したかったからです。そして、写真を含むリストに何かを追加するまで呼び出されません。次に ImageFragment クラス:
修正しようとした後、コードはちょっと面倒です...しかし、削除onDestroyView()
は機能しません。mPagerAdapter.notifyDataSetChanged()
呼び出さなければならないいくつかの場所 ( など) を配置onResume()
しましたが、結果はありません。私はそれでちょっと必死になっています。
android-fragments - Android-NestedFragmentsはオプションメニューの入力に参加します
新しいネストされたフラグメント機能を実装していますが、問題が発生しました。私の見解は基本的にこれです:fragment( B )を含むメインアクティビティ(A ) 、このfragment(B)には、それぞれ3ページのページャーアダプタが含まれています。これもfragment(C)です。以前は新しいgetchildfragmentmangerではこれは実行できませんでしたが、完全に機能します。しかし、1つの問題が発生しました。フラグメントCがオプションメニューの設定に参加できるようにしたいのです。各CフラグメントのonActivityCreatedメソッドにsetHasOptionsMenu(true)を入れて、onCreateOptionsMenuもオーバーライドするのに疲れましたが、何も起こりません...フラグメントBからメニューにデータを入力しようとすると(ポケットベルアダプタのコンテナです)メニュー項目を変更できます...
何かご意見は ?
ありがとう。
android - ローダーを使用した TabsPager の複数のフラグメント、スワイプは機能しますが、クリックは機能しません
私はActionBarSherlock の例を使用して構築しています。各タブに 1 つずつ、3 つのフラグメント(それぞれ extendsSherlockListFragment
と implement ) があります。それらはすべてローダーを使用します。タブ 2 と 3 は同じローダー クラスを使用しています (これは問題ではないと思います)。LoaderManager.LoaderCallbacks<>
FragmentPagerAdapter
必要に応じてバンドルとともに、さまざまなフラグメントへのクラス参照を使用して、タブを my に追加します。アプリケーションが起動してタブ 0 が表示されると、 getItem のFragmentPagerAdapter
タブ 0 とタブ 1 がフラグメントを作成して準備が整います。タブ 2 はまだ作成されていません。タブ 1 にスワイプすると、タブ 2 が読み込まれます。もう一度スワイプすると、タブ 2 が正しく表示されます。
タブ 0 からタブ 2 をクリックすると問題が発生します。getItem
フラグメントを作成し、ローダーがdoInBackground
処理を開始しますが、タブ 2 のフラグメントはonLoadFinished でデータを取得しないため、無期限のプログレスバーが表示されたままになります。
奇妙なことが以前に起こりました。クリックすると、タブ 2onLoadFinished
がタブ 0 のローダーからデータを受け取ります。各タブのフラグメント ローダーを別の ID を使用するように変更すると (同じ ID であっても衝突する必要はないと思います)、その問題はなくなりました。例: getLoaderManager().initLoader(0, null, this)
、getLoaderManager().initLoader(1, null, this)
など。それがローダーやその他のことについての私の無知を示しているだけなのかどうかはわかりません。
主な質問は、 にFragmentPagerAdapter
すべてのタブを一度にロードさせることはできますか? それを行っても、おそらく私のコードでこのバグを完全に排除することはできません。
二次的な質問:スワイプして更新をクリックすると(それが何をするかについては以下のコードを参照)、最終的にアクションバーの更新ボタンが消えます。何かご意見は?
MainActivity (リンクされた ABS の例と非常によく似ています):
Tab0 フラグメント (他のフラグメントと非常に似ているため、他のフラグメントは省略します):
Tab0 ローダー (他のローダーと非常によく似ているため、他のローダーは省略します):
アダプターは非常に基本的なものであり、問題はないと確信しています。誰かに尋ねられたら、もっとコードを提供できますが、これで十分だと思います。 助けてくれてありがとう。
アップデート:
単純に置き換えるFragmentPagerAdapter
とFragmentStatePagerAdapter
機能します。FragmentPagerAdapter getItem is not calledで参照されているのを見ました。私のコードと使用の何が問題になっていますFragmentPagerAdapter
か?
android - Android FragmentPagerAdapter とカーソル ローダー
私のデータベースからfragmentpageradapterでホストされているフラグメントにデータをロードするカスタムカーソルローダーを実装しようとしています。私は、これが(新しいネストされたフラグメントを介して)fragmentpageradapterを実装するフラグメントを持つアクティビティ(SherlockFragmentActivityを拡張)を持っています。fragmentpageradapter の下の各フラグメントは、表示するデータを生成するカスタム カーソル ローダーを実装します。onActivityCreated でローダーを開始し、onResume で再起動し、onDestroy で破棄します。私がページ1にいるとしましょう。ページャーは自動的にページ2も開始します(より流動的なトランザクションのデフォルトの動作)問題は、ページ2に表示されるアイテムを(アクションバーから)追加し、ページ1にいる場合です。ローダーのページにスワイプすると、データが更新されません。
何かご意見は ?ありがとう !
android - FragmentPagerAdapterを使用するときに既存のフラグメントを取得する方法
タブの管理と関連するとの接続のすべての詳細を実装するヘルパークラスとして、Activity
を使用しているを介してフラグメントを相互に通信させるのに問題があります。AndroidサンプルプロジェクトSupport4Demosによって提供されるものとまったく同じように実装しました。FragmentPagerAdapter
ViewPager
TabHost
FragmentPagerAdapter
FragmentManager
主な質問は、IDもタグも持っていないときに特定のフラグメントを取得するにはどうすればよいですか?FragmentPagerAdapter
フラグメントを作成し、IDとタグを自動生成しています。
android - 水平スクロールで戻るボタンを特定のフラグメントに移動するにはどうすればよいですか?今すぐアプリを終了します
タイトルはそれをかなり説明しています。
水平スクロールを設定しました。最初の画面には、他のフラグメントと水平スクロールシステム全体へのボタンがあります。私が望んでいるのは、ユーザーがこれらのフラグメントの1つで戻るボタンを押すことができ、アプリがすべてのボタンを含む最初の画面に戻ることができるようにすることです。
そこから、戻るボタンをAlertDialogにして、ユーザーにアプリを終了するかどうかを尋ねます。現時点では、これが起こっています(戻るボタンを押すと、すべてのフラグメントで、作成したAlertDialogがポップアップします)。
フラグメントトランザクションと「addToBackStack()」を調べましたが、実装方法がわかりません。このサイトの開発ガイドと特定の質問を見てきましたが、1行または2行のコードを取得しても実装には役立ちません。
FragmentPagerAdapterが設定されたFragmentActivityがあり、各Fragmentには独自のJavaファイルがあります。FragmentActivityとFragmentPagerAdapterですべて呼び出される5つのフラグメントがあります。
すべて通常の方法で設定されているので、今のところ、私のコードを皆さんに紹介する必要はないと思います。もしそうなら私に知らせてください。
他の質問、特に1つで見つけたコードは、次のとおりです。
しかし、それだけを続けるのは少し難しいです。
よろしくお願いします。
編集:私のコードは削除されました-必要ありませんでした。
android - FragmentPagerAdapterクラスは、タブが初めてクリックされたときにのみトリガーされます
タブベースのアプリケーションを開発しようとしています。各タブにはフラグメントがあります。そのうちの1つにはViewPagerがあり、ViewPagerには独自のページがあります。このビューページャーをスクロールして、別のビューページに移動します。
初めてアプリケーションを開いたときは問題ありません。ただし、このタブから移動して再度アクセスすると、viewpagerコンテンツが表示されず、FragmentPagerAdapterクラスが起動されません。
タブA-タブB-タブC
タブCフラグメントにはViewPageがあります。
ViewPageには独自のページがあります。
フラグメントC;