問題タブ [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.

0 投票する
0 に答える
525 参照

android - Android: actionbarsherlock 4.2 オプション メニューと Google マップ v2 ラグ

設定

非常に奇妙なラグバグに遭遇しました。ABS 4.2 を使用して、ライブラリ v4 リビジョン 11、新しい SupportMapFragment、およびネストされたフラグメントもサポートします。このバグは、Android 4.2 の nexus 4 と 2.3.6 の nexus 1 の両方で発生します。

私はこれらの断片を持っています:

#1 FragmentPageRadapter を含むビューページャーを持つ「MainContainer」。

#2 このフラグメントページアダプタ内の「SupportMapFragment」。SupportMapFragment を拡張しましたが、同じバグがデフォルトの実装に適用されます。

#3 1つの余分なフラグメント(設定で設定を調整するだけなので、特別なことは何もありません)

やりました:

  1. フラグメント #2 が実行されていて、(オーバーフロー メニューの) オプション メニュー項目をクリックすると、フラグメント #3 へのフラグメント トランザクションが実行されます。これにより、古いフラグメント MainContainer がバックスタックに追加されます。

  2. #3 をポップし、#1 (MainContainer) と #2 (SupportMapFragment) を再び表示する [戻る] ボタンをクリックしました。

期待される:

スムーズに実行されるマップのフラグメント。

起こりました:

マップビューは非常に遅く、ほとんど機能しません。アプリ全体で他のラグは見られません。

奇妙な部分:

アクティビティが再作成されるか、フラグメントが destroy:ed (MainContainer は常に fragmentmanager にあります) である場合を除いて、ライフ サイクルの変更全体でフラグメント トランザクションを実行しても、ラグはこのように持続します。しかし、オーバーフロー ボタンを押して、ステップ 1 で押した実際のボタンを表示すると、マップが突然スムーズに実行されます (つまり、オーバーフロー メニューの項目を表示するだけです)。

論理的には、変更されたオーバーフロー メニューの項目を表示するだけで何かが変更されたことを示しています。これらすべてのコンポーネントには非常に多くのコードが含まれており、別のフラグメント (getChildFragmentManager()) 内で SupportMapFragment を使用することを除いて、通常とは異なるものを実際に見つけることはできません。コードは興味深いものになる可能性があり、それを更新します。

頭おかしくなったので助けてください…

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

android - FragmentをビューとしてViewPagerに追加するには?

私は viewPager を使用しており、それにフラグメントを追加したいと考えています:

マイ PagerAdapter:

MyFragment を ViewPager に追加する正しい方法は何ですか? ビューとして追加する必要があるため、newInstance() メソッドを使用しますが、nullPointerException が発生します。

ありがとう!

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

android - onPageSelected() でアクセスするとフラグメント メンバー変数が null になる

FragmentPagerAdapter と FragmentActivity を使用して、スワイプ可能なフラグメントを作成しています。

その pagerAdapter の最初のフラグメントは次のようになります。

ここでの問題は、5 ~ 6 個のフラグメントにスワイプして最初のフラグメントに戻ると、NullPointerException が発生することです。

デバッグしようとすると、

mMyView は null ですか? = 真

なんでそうなの?

私を助けてください。

これが私のフラグメントで、FragmentPagerAdapter が含まれています。

そして、これが私の実装 MyFragmentPagerAdapter です。

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

android - ページャー アダプター + FragmentPagerAdapter のイベントで TextView テキストを変更できません

FragmentPagerAdapter に 3 つのページがあり、(pageradapter ではなく) 別のフラグメントから longClick イベントをキャッチしようとし、このイベントを使用してテキストビューのテキストを変更します。MainActivity の arraylist にフラグメントを保存すると、ある程度は機能しましたが、arraylist を削除して既存のフラグメントを pageradapter から取得して、arraylist からフラグメントが消えるという問題を修正しようとしました。まったく変更されません (以前は一部変更されていました)。

関連する部分は次のとおりです (Tushar の要求に従って、最も関連性の高い部分のみを持ってきます。コードを理解するために他に何か必要な場合は、それを言及してください。追加します):

私の TextView はいくつかのテキストを必死に必要としているので、これが私を助けるのに役立つことを願っています。

編集: TextView がテキストを取得する場所は次のとおりです。

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

android - Viewpager と Sherlock Fragments。FragmentActivityのフラグメント内で何かをする方法は?

内部に 4 つの Fragments を持つViewPagerを含む親SherlockFragmentActivityクラスがあります。 そのうちの 1 つはSherlockListFragmentから拡張されており、そのタブをクリックして一番上までスクロールしたいと考えています。

MainActivityクラス:

TabAdapterクラス:

onTabReselectedが呼び出され、ユーザーが現在のタブを押すので、EventListFragmentのスクロールを試みます。

EventListFragmentクラス:

アプリケーションの起動時に機能しますが、画面の回転後にscrollToTop - getSherlockActivity()はnullを返します。
この条件チェックを削除する場合は、例外があります。

java.lang.IllegalStateException: android.support.v4.app.ListFragment.ensureList(ListFragment.java:328) でまだ作成されていないコンテンツ ビュー android.support.v4.app.ListFragment.getListView(ListFragment.java:222) でcom.project.fragment.EventListFragment.scrollToTop(EventListFragment.java:337) で com.project.MainActivity$TabAdapter.onTabReselected(MainActivity.java:411) で com.actionbarsherlock.internal.app.ActionBarWrapper$TabWrapper.onTabReselected(ActionBarWrapper.ジャワ:327)

ViewPager とその FragmentPagerAdapter が機能する方法を完全に理解しているわけではありません。そのため、発生する問題を見つけることができません。

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

android - ViewPager/Fragments/ViewPagerExtensions で向きを変更すると強制的に閉じる

回避できないように見える問題が少しあります(以前にこの方法でフラグメントを操作したことはありません)

次のようなメイン FragmentActivity があります。

XML は次のとおりです (Viewpager と ScrollingTabsView を使用した場合:

次に、MyTabsAdapter には次のようなものがあります。

FirstFragment/SecondFragment には独自の基本的なレイアウトがあり、ほぼ同じです。

ここにあるものはすべて、私が望むとおりに機能します。タブは機能し、ViewPager ページは適切に表示されます。

問題は、このトレースを取得して、方向を変更すると強制的に閉じることですが、その理由がわかりません。

だから私が助けを必要としているのは、向きの変更でなぜそのエラーが発生するのかを理解することです. 私はいくつかの調査を行いましたが、同様のセットアップを持つ人を見つけられなかったようです.

必要に応じて、より多くの情報を提供できることを嬉しく思います。

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

android - Android FragmentPagerAdapter のフラグメント参照を取得する方法

FragmentPagerAdapter で ViewPager を使用して、2 つのフラグメント間でスワイプできるようにしています。私は FragmentStatePagerAdapter を使用していません。なぜなら、それらの間をスワイプするときに新しいフラグメントインスタンスを破棄して再作成し、フラグメントの 1 つで操作を複数回実行したくないからです)。FragmentPagerAdapter に渡す 2 つの作成されたフラグメントへの参照を取得する方法が必要ですが、次のコードはエラーを生成しています (以下を参照)。

これにより、次のエラー (または同様のエラー) が生成されます。

誰でもこれで私を助けることができますか?

編集
次のことも試しましたが、各フラグメントを正確に 2 回 (当然のことながら) インスタンス化しますが、これは望ましくありません。それ以外は、次のコードで動作します。

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

android - Androidフラグメントの作成順序の制御

つまり、FragmentActivityに3つのフラグメントがあります。いくつかのコンテナなどを含むxmlレイアウトファイルがあるのでsetContentView(R.layout.my_activity)、プログラムで3つのフラグメントを追加します。これらのフラグメントのうち2つは、FragmentPagerAdapterで使用されるため、それらの間をスワイプできます。

ここで、2つのスワイプ可能なフラグメントを他のフラグメントの前に作成する必要があります(たとえば、フラグメント1と2のonCreateViewメソッドは、フラグメント3のonCreateViewメソッドの前に呼び出す必要があります。ただし、フラグメント3は常に最初に作成されます。コード:

また、 initViewPagerメソッドの代わりに上記のコードを試しました。

ただし、これにより、次のようにエラーが発生し、起動時にクラッシュします。

誰かが私がやろうとしていることをどのように達成できるか教えてもらえますか、または私が試みることができる何かを提案できますか?また、フラグメント依存関係アクションがコンストラクターから実行されるようにリファクタリングすることはオプションではないことにも言及する必要があります。

0 投票する
0 に答える
424 参照

android - viewpager android の部分フラグメントを更新する

私はこの問題を抱えています、

私のアプリには3ページのviewpagerがあり、中央のページ(位置1)にgetPageWidth 0.80fを設定しました。次に、ページ0からページ1まで右にスクロールすると、ページ1はfragment1 + 0.20のfragment2で構成されます。このページでは、fragment1 の後に fragment2 が更新されます。

私はnotifyDataSetChanged()、requestLayout()を採用し、この答えを見ました:

ViewPager + PagerAdapter は、最初の 2 つの項目の後に空白のページを表示します

しかし、私は私の問題を解決しません。

問題は、ページ1を更新すると同時に、ビューページャーの部分ページ2を強制的に更新するにはどうすればよいですか?

皆さんありがとう

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

android - ViewPager が間違ったフラグメントを表示する

Web 上のあらゆる場所を検索して問題の解決策を見つけようとしましたが、まだ解決していません。とにかくここに私の問題があります。基本的に、TestWeekActivity (ViewPager を含む) を起動すると、最初のページに挿入された 2 番目のフラグメント/ページが表示され、2 番目にスワイプすると 3 番目のページが表示されます...つまり、常に次または前のフラグメント/ページが表示されますスワイプ方向(左または右)に応じて。

ログをどこにでも置くこと FragmentPagerAdapter.getItem(int) をスワイプするたびに 2 回呼び出されることを理解しました (この動作により、near ページをキャッシュできることを読みました)。しかし、私が理解していないのは、getItem メソッドが呼び出されると、相対的なフラグメント メソッド onStart も呼び出されるため、最初のページから 2 番目のページにスワイプすると、getItem メソッドの 2 番目の呼び出しのために 3 番目のフラグメントが表示される理由です。十分に明確であることを願っています。

ここに私のコードがあります: TestWeekActivity

日フラグメント

よろしくお願いします!

PS: 私は初心者なので、私を殺さないでください。;-) PPS: 下手な英語でごめんなさい。