問題タブ [android-viewpager]

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

android - ViewPager の Android ビューホルダー

こんにちは ViewPager を使用していますが、セルを再生成するのではなく、状態を保持したいと考えています。

ビューページャーはリストビューのカスタムアダプターに非常に似ていることに気付きました。リストビューが画面上になくなった後にセル内のデータを再生成する場合、ビューページャーも同じように機能します。

ビューホルダー、つまり各ビューの状態を最初にロードした後に保持するある種のオブジェクトを実行して、ビューページャーのセルがより速くロードされるようにする方法はありますか。(セルごとに多少の処理とレンダリングがありますが、メモリの限界を自分でテストします)

これが私のビューページャーです

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

android - Android FragmentViewPager と画面再描画の問題

FragmentViewPager と Fragments に問題があります。

CursorLoader を使用して Fragment 内のリストを作成しています。ビューページャーは 4 ページで構成されています。

基本的に、あるフラグメントから別のフラグメントにスワイプするときは問題なく動作しますが、たとえばフラグメント A のコンテキストでサービスからデータを取得し、フラグメント B、C などにスワイプすると、フラグメント内のリストが読み込まれないように見えます。空白の画面ですが、デバイスの画面がオフになっている場合は、フラグメント内のリストにデータが表示されます。

カーソル ローダーの onLoadFinished メソッドでは、更新のたびにアダプターをリセットします。

私は解決策に困惑しています。何かアドバイス?

追加情報、このスタック トレースを受け取ることもあります。

09-21 15:20:44.489: INFO/dalvikvm(21106): Landroid/view/ViewRoot$CalledFromWrongThreadException;: ビュー階層を作成した元のスレッドのみがそのビューにアクセスできます。09-21 15:20:44.497: INFO/dalvikvm(21106): android.view.ViewRoot.checkThread(ViewRoot.java:2932) 09-21 15:20:44.497: INFO/dalvikvm(21106): android. view.ViewRoot.requestLayout(ViewRoot.java:629) 09-21 15:20:44.501: INFO/dalvikvm(21106): android.view.View.requestLayout(View.java:8267) 09-21 15:20: 44.501: INFO/dalvikvm(21106): android.view.View.requestLayout(View.java:8267) 09-21 15:20:44.501: INFO/dalvikvm(21106): android.view.View.requestLayout(View) で.java:8267) 09-21 15:20:44.501: INFO/dalvikvm(21106): android.view.View.requestLayout(View.java:8267) 09-21 15:20:44.517: INFO/dalvikvm(21106) ): アンドロイドで。

ありがとう、

アクシャイ

0 投票する
13 に答える
56566 参照

android - 循環キュー/ラッピングとしてのViewPager

いくつかのフラグメント間のナビゲーションを可能にするためViewPagerに、を使用しています。FragmentStatePagerAdapter

、、の3つのフラグメントAがあるBとしCます。ViewPagerには、最初にフラグメントAが表示され、右から左にスワイプしてフラグメントBに移動し、もう一度スワイプしてフラグメントCに移動できます。これにより、次のナビゲーションパスが可能になりますA <--> B <--> C

私が望んでいるのは、フラグメントAを左から右にスワイプして、ViewPagerにフラグメントCを表示させることです。つまり、循環キューとして動作し、... --> C <--> A <--> B <--> C <--> A <-- ...

フラグメントが他の位置に複製されないようにします(つまり、3つ以上のインスタンスで終わる)。

このラッピング機能はViewPagerで可能ですか?

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

android - Androidビューページャー、再レンダリングするビューを制御します

私のビューページャーは現在、視覚的に見えるものから2ビュー離れたビューのみを再レンダリングします。

例(それぞれ表示)

特定のビューを強制的にリロードするにはどうすればよいですかX現在のビューから多くのビューを離れてリロードする必要があるユースケースシナリオと、望まない場合があります。しかし、現在私はアダプター全体をリロードする方法しか知りません-おそらくそれは配列リストからプルします

Viewpagerを制御する方法が本当にわかりません-そこにある例はほとんどありません。私が知っているのは、「notifyDataSetChanged」のリスト全体をリセットすることだけです。

洞察力を高く評価

0 投票する
34 に答える
372230 参照

android - IllegalStateException: ViewPager で onSaveInstanceState の後にこのアクションを実行できません

市場でアプリからユーザー レポートを取得していますが、次の例外が表示されます。

どうやら、私が使用していない FragmentManager と関係があるようです。スタックトレースには自分のクラスが表示されないため、この例外がどこで発生し、それを防ぐ方法がわかりません。

記録のために:私はタブホストを持っており、各タブにはActivityを切り替えるActivityGroupがあります。

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

android - ViewPagerフラグメントの一部であるListViewのフィルタリング

最近、アプリケーションをActivitesとTabHostの使用からAndroid Compat Library for API v4のFragmentsとViewPagerの使用に変換しました。ほとんどの問題を修正/解決できましたが、setTextFilterEnabledメソッドを使用してListViewsのテキストをフィルタリングすることで以前の動作を維持できません。

MyViewPagerAdapterには、それぞれに。があるフラグメントが含まれていListViewます。ユーザーがをスワイプするViewPagerと、TabHost-Activityモデルで実行できたのと同じように、現在アクティブなFragmentのListViewでユーザーの入力に応じてテキストをフィルタリングできます。現在、最初のフラグメントのListViewは正しく応答するように見えますが、次のフラグメントにスワイプしてそのListViewをフィルタリングしようとすると、フィルタリングは最初のフラグメントに引き続き適用されます。最初の2つを超えてスワイプしてからフィルター処理すると、結果は決定論的ではありません。現在アクティブなフラグメントは、フィルターを適用しません。隣接するフラグメントがそうなることもあれば、そうでないこともあります。

現在表示されているフラグメントと非表示になっているフラグメントを監視できるカスタムコールバックを追加して、これを修正しようとしました。フラグメントがViewPagerのメインフラグメントとして表示されるようになったら、setTextFilterEnabledそのListViewでをtrueに設定し、他のすべてをに設定しfalseます。これはまったく役に立たなかったようです(正しいフラグメントのフラグを正しく切り替えていることを確認しました)。

これにはViewPagerとのより深い統合が必要だと思いますが、何を接続する必要があるのか​​本当にわかりません。これを機能させる方法について何かアイデアはありますか?必要に応じて、ACLコードをいじくりまわすことができてうれしいです。

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

android - asynctasksを備えたAndroidViewpager(ページの読み込み中のスピナー)

コンテンツがバックグラウンドから入ってくるときに読み込みを表示するViewpagerが必要です。基本的に、最初のビューがロードされることを期待していますが、View+1とView-1は引き続きロードされます。ユーザーがどちらかの側にスワイプした場合、ロード中に回転するダイアログが表示されるようにします

AsyncTasksをViewPagerに追加し、それらがいつ実行されるかを決定するいくつかの条件を設定しますか?ビューページャーは側面に多くのビューを持っているので、あまりにも多くのAsyncTasksをロードしたくありません。

Truliaアプリはこれを実行すると思います。これは、私が探しているものと似ています。アパートの画像を表示すると、そのビューページに画像が読み込まれている間、読み込み画面が表示されます。

また、記録のために、ビューページャーをアクティビティのonCreate関数のように扱うことはできますか?それは本当に物事をクリアするでしょう

洞察に感謝

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

android - getActivityがフラグメントからnullを返す

学校のために私はアンドロイドアプリを作っています。このアプリには、データベースからの文字列のみのグリッドビューを表示するフラグメントがあります。このために私はフラグメントが必要です。getActivity()を呼び出すと、nullが返されます。ここで提案されているonAttachメソッドは、アプリがクラッシュする前に呼び出されません。これをどのように解決すればよいですか?
weekFragmetn.xml:

logcat :(アイテムをクリックしてから、アクティビティを開始するリスト内のアイテムをクリックします。ここで、フラグメントが開始/埋め込まれます)

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

android - ページ切り替え時の StringIndexOutOfBoundsException

ビューページャーのフラグメント (weekFragment) 内から (アダプター weekAdapter を使用して) gridview をロードすると、最初のページが正常にロードされます。ただし、ページを切り替えたい場合は、StringIndexOutOfBoundsException が発生します。何が悪いのかわかりません。LogCat では何も報告されず、エラーには変更していないネイティブ メソッドのみが表示されます。これを解決する方法を教えてください。

週フラグメント.java:

weekAdapter.java:

エラー:

編集: else if(title == "vakken") が原因であると判断しました。コメントアウトされている場合は、機能します。順序は関係ありません。エラーの原因はこの句です。今日は、個別の if を作成しようと思います。

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

android - Android ビューページャーの同期スクロール

Pager1 と Pager2 の 2 つの ViewPager があります。OnPageChangeListener を Pager1 に追加し、onPageScrolled コールバックで Pager2.scrollTo(x, y) を呼び出して移動します。どちらの ViewPager もスムーズにスクロールし、同期していますが、問題は Pager2 の内容が変化しないことです。LogCat で確認しました -- Pager2 の instantiateItem() はまったく呼び出されません。

回避策として、Pager1 の onPageSelected() コールバックに Pager2.setCurrentItem() を追加しました。これは両方のビューをスクロールしますが、ピクセルには同期されません。実際の ViewPager クラスをオーバーライドせずにこの効果を達成する方法があるかどうか疑問に思っています。