問題タブ [android-paging]
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.
android - PagedList.BoundaryCallback が再度トリガーされない
Androidサンプルに示すように、部屋とネットワークの呼び出しでページングを実装しようとしています
リストの一番下に移動すると、onItemAtEndLoaded が呼び出されます。その場合、ネットワーク呼び出しから結果を取得して、データを部屋に挿入します。
ネットワーク呼び出しが失敗し、しばらくしてからユーザーが再びリストの一番下に移動した場合、境界コールバックはトリガーされません。
これはバグですか、それとも意図した動作ですか? 無限再試行を実装したくないので。代わりに、ユーザーが一番下までスクロールした場合にのみ電話をかけます
android - ページング ライブラリ クラスに変数を渡す
Android Paging Library を使用してアプリを作成しています。私はそれでレトロフィットを使用しています。改造コードは ItemDataSource にあり、そこに変数を渡すことができません。私は意図的にいくつかの変数を持っています。Retrofit Post メソッドで変数を設定するにはどうすればよいですか。
アイテムデータソース
主な活動
アイテム ビュー モデル
}
ところで、私はこれに従っています https://www.simplifiedcoding.net/android-paging-library-tutorial/
android - PagedList と RecyclerView の相互作用のパフォーマンスを改善できますか?
私の Android アプリでは、RecyclerView
使用中の Room と Paging ライブラリにデータを表示しています。
AsyncPagedListDiffer
私の実装は、ドキュメントの例と非常によく似ています。
流れは次のとおりです。
- データベースのデータが変更されました
対応
/li>Observer
する は変更を に渡しますAdapter
:は
AsyncPagedListDiffer
差分を計算し、それに応じてリストを更新します
私の問題は、ステップ 3 のパフォーマンス ヒットです。
リストの先頭に1つのアイテムを挿入したとしても、すべてのアイテムをチェックする必要があります (これは、特に大規模なデータセットでは非常に非効率的です) が、単純なnotifyItemInserted(0)
呼び出しで十分です。
この動作を回避する方法はありますか?
たとえば、すべての項目をチェックする必要がないことを相違点に伝えることができますか? またはこれに対する他の解決策はありますか?
アドバイスをいただければ幸いです。
android - onBindViewHolder の getItem が null になるのはなぜですか?
だから、私はページングライブラリに従おうとしています。ほとんどの例では、次のようなものがあります。
アダプター内の項目が null であることを確認する必要があるのはなぜですか? PagedListAdapter フローの内部を理解していません。誰か説明してくれませんか?
私の推測では、データソースが更新されるとすぐに、アダプタのコンテンツをある時点で UI スレッドから「削除」するオブザーバがアダプタにあるため、このアイテムの位置が古くなっているのではないでしょうか?
android - Android ページング ライブラリ LiveData> API 呼び出しの終了前にトリガーされる
新しいページング ライブラリを Kotlin 言語で使用する方法を学ぼうとして 2 日が経ちました (これも初めて)
だから私はこのページング ライブラリを実装するための多くのガイド/チュートリアルと Github リポジトリ ( https://github.com/STAR-ZERO/paging-retrofit-sample ) を読みました。が終了しましたが、理由がわかりません。コールが何も行われていないように感じますLiveData<PagedList<Discover>>
ViewModel
callback.onResult(it?.results.orEmpty(), null, 2)
私はこのバージョンを使用してandroid.arch.paging:runtime:1.0.1
います。ここで私のプロジェクトのレポを見つけることができます: https://github.com/florian-do/TMDB
logcat :
ここに私のコードがあります:
Fragment.kt
MainViewModel.kt
DataSourceFactory.kt
SequentialDataSource.kt