問題タブ [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 投票する
2 に答える
2580 参照

android - loadInBackground で新しいオブジェクトを返さない限り、AsyncTaskLoader は onLoadFinished を呼び出さない

AsyncTaskLoader<List<String>>メンバ変数List<String>mAddressesを持っています。ではloadInBackground、新しいオブジェクトを作成する場合は、それを埋めて返します。onLoadFinished期待どおりに呼び出されるため、アダプターを更新してビューを更新できます。

ただし、値の変更onLoadFinishedが呼び出されても同じ変数を使用しようとすると、次のようになります。

誰でもこれについてコメントできますか?このように毎回返す新しいオブジェクトを作成することになっていますか? 「オブジェクトが変更されたため、同じオブジェクトであっても、すべての更新が実行されていることを確認してください」というフラグを設定できますか?

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

android - バックグラウンド スレッドからのデータ変更に関する AsyncTaskLoader の適切な通知

AsyncTaskLoaderカスタム データ ソースに実装したい:

DataSource登録されたオブザーバーのリストを保持し、変更について通知します。CustomLoaderを実施しDataSourceObserverます。問題は、UI スレッドから呼び出す必要があるため、適切に通知する方法ですが、私の場合、CustomLoader操作(およびへの呼び出し) はバックグラウンド スレッドから行われます。Loader.onContentChanged()DataSourceDataSourceObserver.onDataChanged()

Selvin のヒントからのアイデアで更新:

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

android - Androidサポートライブラリを使用して3.0以前のデバイスをサポートし、それを使用せずに3.0以降のデバイスをサポートするための最良のコーディング戦略は何ですか?

一部のライブラリには 2 つの実装があります。1 つはネイティブ 3.0 API 用で、もう 1 つは ACL サポート用です。たとえば、Mark Murphy による Loader フレームワークの拡張。https://github.com/commonsguy/cwac-loaderex

では、どう対処すればよいのでしょうか。

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

android - Android ローダー、restartLoader でリストビューが更新されないのはなぜですか?

私は次のことをしようとしています

ポイント5までのすべてが機能します。

そのため、アイテムが追加された後にローダーを再起動するのに助けが必要です.

したがって、データがデータベースに追加された後、次のように呼び出しています。

getLoaderManager().restartLoader(ID, null, MyFragment.this);

そして、ローダーメソッドでは、私は単純に次のことを行います:

これが呼び出されると、ListView は空白になります。リスト内の以前の項目はすべて消えます。

アクティビティを終了して再びアクティビティに戻ると、SimpleCursorAdapter はデータベースに追加された項目を ListView に入力します。

だから私はそれらが正しく追加されたことを知っています。

しかし、restartLoader を呼び出した後は表示されません。

Loader を使用して listView を更新する方法を知っている人はいますか?

後で何かを呼び出す必要がありますか

または、 onLoaderReset メソッドでもっと賢いものが必要ですか?

ヒントや指針を教えてください。

ありがとう !!!

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

android - Android AsyncTaskLoader を再起動できませんでした

onCreate() でローダーを初期化し、ボタンが押されたときにローダーを再起動する単純なコード。Android ドキュメント getLoaderManager().restartLoader() については、新しいローダーを開始するか、このマネージャーで既存のローダーを再起動する必要があります。しかし、ボタンを押して restartLoader を呼び出すたびに、新しい AbstractLoader が作成されます。

Android ドキュメントの LoaderManager.restartLoader()

AbstractLoader コードは次のとおりです。

以前の結果を返したい別のケースでは、5 分に 1 回だけデータをロードしたいので、mResult 値が必要です。私の質問は、initLoader を使用して onCreate で同じ ID のローダーを作成した場合でも、「restart」でローダーが再作成されるのはなぜですか。ありがとう

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

android - 検索で重複する ListFragment 内のリスト

ListFragment と loader と CursorAdapter を使用してリストを表示しています。このリストには検索ボックスがあるため、ユーザーが何かを検索すると、検索された文字列を含むレコードのみが表示されます。今私が直面している問題は、最初に表示されたリストが検索後に作成されたリストと重複していることです。つまり、最初のリストが 2 番目のリストの背景として表示されます。検索を処理する方法は次のとおりです。検索テキストが送信されるたびに、getLoaderManager().restartLoader() を使用してローダーを再起動し、onLoadFinished() で、CursorAdapter の新しいインスタンスを作成しています。リストの重複の問題の理由がわかりません。助けてください。(コードを提供したかったのですが、会社の方針により提供できません。本当に申し訳ありません。)