問題タブ [android-loader]

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 投票する
1 に答える
1049 参照

android - 複数のアダプターまたは複数のアクティビティを使用する方がよいでしょうか?

私は階層的なデータ構造を持っています。例として、私のデータ テレビ番組を考えてみましょう。各ショーには複数のシーズンがあり、各シーズンにはいくつかのエピソードがあります。すべての番組を表示するリストが必要です。番組をクリックすると、その番組のすべてのシーズンがリストに表示され、シーズンをクリックすると、そのシーズンのすべてのエピソードがリストに表示されます。

わかりましたので、邪魔にならないように、現在私はスルーActivityを実装するものを持っています。このローダーは、データの完全な階層を返します (別名、すべてのシーズンとすべてのエピソードを含むすべての番組)。次に、使用しているデータのレベルに応じて別のものを使用します。LoaderLoaderCallbacksArrayAdapter

これは、この種のデータを処理する「正しい」方法ですか? 代わりに、データのレベルごとにローダー、アクティビティ、およびアダプターを用意する必要がありますか?

これが混乱を招く場合は申し訳ありませんが、洞察力を事前に感謝します。

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

android - Android ExpandableList - イメージ ローダー - シンプルなアダプター

私たちの助けが必要です。

expandableListView を作成し、URL にロードされたより多くの画像を配置する必要があります。

今私はこれを持っています:

私はテキストをファイルxmlに取りますが、私の画像を動的に画像に表示する方法を知りません。

これはコードです:

AsynkTask の後の KEY_THUMB_URL には、画像の URL があります。画像ローダーを使用して表示する必要があります。しかし、SimpleExpandableListAdapter に画像ローダーを実装する方法がわかりません。私を助けてください非常に重要です!

私はこれを使用できると思います:

しかし、このコードをどこに置く必要があるのか​​ わかりません...助けてください!

画面のこの画像を見て ください http://www.magicfly.it/app/screen.jpg

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

android - 新しいアクティビティを開始し、新しいアクティビティで向きを変更して戻るボタンを押した後、ローダーが保持されない

最近、ローダーで問題が発生しています。問題を再現する小さなプロジェクトを作成しましたhttps://github.com/solcott/loaders-orientation-change

フラグメントを追加する単純なアクティビティがあります

私のフラグメントでは、画面に表示される整数を返すローダーを開始します。新しいアクティビティを開始するボタンもあります。

この時点まではすべて正常に動作しており、向きを変更できますが、表示される整数は変わりません。新しいアクティビティを開始してから戻るボタンを押しても、表示される整数は変わりません。

ただし、新しいアクティビティに移動し、方向を変更して戻るボタンを押すと、整数がインクリメントされます。向きを変更しない場合と同じように動作すると思います。

Fragment.onCreate() で setRetainInstance(true) を呼び出すと、さらに悪化します。onLoadComplete が呼び出されることはなく、整数はまったく表示されません。

他の誰かがこの問題に遭遇し、回避策を見つけましたか?

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

android - より多くのデータを取得するように Android AsyncTaskLoader に指示します

これはListViewのスクロールに関する質問ではないと言って始めましょう。ユーザーがリストの一番下までスクロールしたことを知る方法を知りたくないので、その質問に対する回答を提供したり、これを重複としてマークしたりしないでください。

AsyncTaskLoader を拡張するクラスを使用して、Web サービスからのデータを ListView に入力しています。

最初に、50 個のアイテムをロードしましたが、すべてうまく機能しています。次の 50 個のアイテムを段階的にロードするようローダーに指示する方法を知る必要があります。ListViewコードでこれを行う場所は理解していますが、データをリセットしてすべてを再度ロードすることなく、より多くのデータをロードしたいことをローダーに伝える最良の方法がわかりません。

繰り返しますが、明確にするために、ここで解決しようとしている問題は、より多くのデータをロードする必要があることをローダーに通知することです。loadInBackground() が 2 回目に呼び出されたときにさらにデータをロードする方法を既に認識しており、ListView はローダーに通知する場所/タイミングを既に認識しています

関連するコードの一部:

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

android - ローダー - 使用する理由

ネットワーク/sqlite リクエストに関してローダーを使用することの長所を指摘または推奨していただけますか?

唯一の実装 - CursorLoaderは、 ContentResolverを使用すると言います。私が読んだ ContentResolvers は、ContentProviders と組み合わせて使用​​されます。この目的は、アプリケーション内のデータを公開することです。内部で使用するためだけにデータをロードするつもりなので、少し混乱しているようです。ローダーを使用するポイント/利点がわかりません - greenDao のような ORM ツールをプレーンなAsyncTasksと組み合わせて使用​​することの何が悪いのですか?

設計上の利点はありますか?簡単にDI?

0 投票する
4 に答える
4761 参照

android - Android Volley + Loader パターン?

Volleyフレームワークはちょっと好きでしたが、まだ疑問があります。

たとえば、Volley は Loader パターンとどのように並んでいますか? リクエストは非同期で処理されるため、バックグラウンドで呼び出してもあまり意味がありません。一方、Loader パターンを無視すると、ロードをキャンセルして必要なリソースをリロードしますが、ちょっともったいないです。

Volley フレームワークは Android のローダーとどのように連携しますか?

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

android - Android : getSupportLoaderManager().getLoader(id) が以前に使用されたローダーを返さない

たとえば Activity A に次のようなコードがあります。

観察 1 :

アクティビティ A が表示されている間に、ユーザーがデバイスの向きを変更しました - previousLoader が null ではありません。

観察 2 :

ユーザーがアクティビティ A からアクティビティ B に移動し、アクティビティ B を表示しているときにデバイスの向きを変更し、戻るボタンを押します - previousLoader は null です。

Case 2 で previousLoader が null である理由がわかりませんでした。アクティビティ A には、以前にロードされたデータに依存して忠実に動作する一連のフラグメントがあります。この問題により、アクティビティがクラッシュしています。それは別の問題ですが、getLoader が以前に使用されたローダーを返さない理由を知りたいと思っています。

呼び出されたライフサイクル メソッドの順序は、予想どおりでした。つまり、

OnPause, OnSaveInstanceState, OnStop, OnDestroy, OnCreate, OnStart, OnRestoreInstanceState and OnResume

私の場合、アクティビティ B は処理する任意のアクティビティでしたACTION_VIEW

0 投票する
3 に答える
1279 参照

java - Android ListView アイテムでのスワイプ ジェスチャ

ResourceCursorAdapter によって設定された ListView があります。ローダーメカニズムを使用して、リスト アイテムの ContentProvider をクエリします。リストアイテムでスワイプジェスチャを検出して、それらに対していくつかのアクションを実行します。新しいアイテムはバックグラウンド サービスによって追加されるため、リストは動的に変化します。

スワイプを開始してデータベースの変更が発生した場合 (バックグラウンド サービスが新しい行を追加した結果) を除いて、すべて正常に動作します。このような場合、ジェスチャが正しく検出されません。リスト アイテム ビューに ACTION_CANCEL がディスパッチされ、表示されているすべてのアイテムに対して bindView が実行されることに気付きました。bindView メソッド内では、いくつかのテキストを設定するだけで、リスナーは変更しません。

バックグラウンド サービスによって新しいアイテムが追加されている場合でも、ジェスチャを機能させるにはどうすればよいですか? おそらく、モーションがキャンセルされないようにする方法があるか、データベースの更新を一時停止して、ジェスチャーが中断されないようにすることができます。