問題タブ [android-loadermanager]

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

android - カスタム アダプタでカーソルがテキストを正しくバインドしない

SimpleCursorAdaptermy用に拡張されたカスタム アダプタがListFragment、データベース内の項目を正しく表示しません。TextView にテキストが表示されません。正しいテキストを表示するには、カーソルに対して他に何をする必要がありますか?

オーバーライドする必要があると思ったbindViewが、それは効果がなかった

アダプターの設定:

アダプタ:

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

android - LoaderManagerがすべてのAsyncTaskLoaderのロードを完了したかどうかを確認することは可能ですか?

私が尋ねる理由は、メインのアクティビティによって開始されたAsyncTaskの実行中に、ActionBarにProgressDialogスロバーを表示したいからです。

私の現在のソリューション(それは半ば機能します)はAsyncTaskLoaderを拡張します。そのクラスでは、onForceLoad()メソッドをオーバーライドし、ローダーのIDとクラス名をアプリケーションで管理されているマップ(ローダーIDでキー設定)に追加します。ローダーがマップに追加されると、アクションバーに読み込み中のスロバーが表示されます。LoaderCallbackのonLoadFinishedが呼び出されるたびに、IDを使用してマップからローダーを削除し、マップが空かどうかを確認します。マップが空の場合、私はロードスロバーの表示を停止します。

私が直面している問題は、たとえば、5つのローダーが実行されていて、ユーザーが[更新]をクリックして5つのローダーすべてが再起動した場合、すべてのローダーのonLoadFinishedが呼び出されないことです。マップが空になることはないため、読み込み中のスロバーが無期限に表示されます。これはローダーのスロットル方法と関係があると思いますが、よくわかりません。

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

android - LoaderManager を使用した Android FragmentPagerAdapter

ViewPager と FragmentPagerAdapter を持つ FragmentActivity があります。

ViewPager の各フラグメントは、Web サービスからデータをロードする必要があります。Web サービス呼び出しを実行したり、XML を解析したりするために LoaderManager/カスタム ローダーを作成しましたが、これらは正常に動作しています。

ローディングとフラグメントを管理するための 2 つの可能な設計があります。

1) フラグメントに代わってロードを管理するメイン アクティビティ。

フラグメントは、そのデータを要求するメインの FragmentActivity にコールバックします。アクティビティは、そのデータのローダーがすでに実行されているかどうかを確認し、実行されていない場合は、ローダーを作成してロードを実行します。

この場合、データがロードされ、ペイントの準備ができていることをフラグメントにどのように伝えますか。シンプルカーソルではなくカスタムローダーを使用しているため、フラグメントはオブジェクトインスタンスからテキストビューなどを設定するため、オブジェクトが設定されたときに通知する必要があります。

FragmentPagerAdapter では、getItem でフラグメントをインスタンス化するときにタグまたは ID をフラグメントに割り当てることができないようです。FragmentActivity からフラグメントを見つけて、そのデータを描画するように指示するにはどうすればよいですか?

2) 各フラグメントは独自の読み込みを管理します。

フラグメントは独自のローダーを初期化し、各フラグメントには独自の onCreateLoader/onLoaderFinish などがあります。

私がここで遭遇した問題は、ローダーがフラグメントを実行している間にユーザーがそのページからページを離れた場合、(時々) フラグメントが破壊されているように見える場合です。その結果、onLoaderFinished は呼び出されず、フラグメントはメイン アクティビティに終了したことを伝えることができません。メイン アクティビティは、アクションバーで進行状況インジケーター (setProgressBarIndeterminateVisibility) を制御しています。

FragmentPagerAdapter (独自のローダーを必要とする複数のページを持つ ViewPager) がある場合、最適なデザイン パターンは何でしょうか?

私が遭遇した別の問題は、 getSupportLoaderManager を使用してローダーが実行されているかどうかを確認することです。これを onLoadFinished から呼び出します。ローダーが実行されていない場合は、進行状況インジケーターを非表示にできます。ただし、すべてのローダーが完了していても、hasRunningLoaders が true を返すことがあります。

アドバイスや、まともなサンプルの方向性を教えてくれてありがとう。

タ・マーテ​​ィン。

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

android - LoaderCallbacks.onLoadFinished() が呼び出されるときの規則は何ですか?

を提供しLoaderCallbacks.onLoadFinished()た のライフサイクルに関連して、 がいつ呼び出されるかについてのルールはありますか? ActivityLoaderManager

onLoadFinished()がその状態を保存した後に呼び出される可能性がある Android ドキュメントから知っていActivityます (つまり、おそらくActivity一時停止されたとき)。

前もって感謝します。

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

android - LoaderManagerを使用した複数のローダーのパターン?

FragmentsとLoaderManagerを使用しています。不明な数のタスクを起動する必要があり、それらは並行して実行される可能性があります(そうでない場合は、1つのローダーのみを再利用します)。たとえば、リストビューがあり、各行にその行のコンテンツをWebサーバーに保存するためのボタンがある場合があります。ユーザーは、複数のアイテムに対して並行して保存要求を開始できます。

自分で簿記を試すことができるので、ローダーのプールを手動で作成し、可能な場合はそれらを再利用します。これは、APIによってすでに実装されている可能性がありますか?

ありがとう

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

android - LoaderManager.LoaderCallbacksアンドロイド2.1で

私はAndroidアプリケーション開発の初心者です。ToDoチュートリアルを読んでいます。この記事はAndroidSDKバージョン3.0以降に基づいていますが、「LoaderManager」クラスを含まないsdk2.1を使用しています。2.1 SDKでそのクラスに代わるものはありますか?本当に必要ですか?

よろしく。

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

java - AndroidLoaderManagerとCursorLoaderの混乱

LoaderManagerとCursorLoaderを使用するようにAndroidアプリケーションを変換しようとしています。基本的に、ADDRESS列とDISTANCE列を含むSQLiteデータベースがあり、列の値をListView行にロードしたいと思います。

今、私は多くの調査を行いました、そしてすべてがこのチュートリアルを指します:http: //mobile.tutsplus.com/tutorials/android/android-sdk_content-providers/

これは素晴らしいチュートリアルですが、まだ理解していないことがいくつかあります。主に、「new CursorLoader()」に渡されるコンテンツURIを構築するにはどうすればよいですか?デバイスの連絡先などの外部データを使用していません。

以下の私のコードをご覧ください。BASE_URIの値を生成する方法について混乱しています。

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

android - LoaderおよびLoaderManager-ロード中にエラーが発生したかどうかを判断する方法

ローダーがどのように機能するかなどは理解できたと思いますが、ローダーがLoaderManagerまたはアプリケーションに正常に完了しなかったことを通知する方法がよくわかりません。これを行うための最良の方法は何ですか?

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

android - Loader と LoaderManager - 現在のローダーがアクティブで実行中かどうかを判断する方法は?

LoaderManager にクエリを実行して、ローダーが現在実行されているかどうかを確認するにはどうすればよいですか?

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

android - LoaderManagerによって管理されるデータの書き込み

LoaderManagerを使用する場合でも、データベースの書き込みを以前と同じように管理し、ローダーに変更を反映させることができますか?私はアプリに機能を変換して追加する過程にありますが、Androidプラットフォームにはまだ慣れています。