私はrecyclerviewを使ってアイテム(イメージとテキスト)のリストを表示しています。私はrecyclerviewリストに表示されているアイテムをバックエンドから取り出しています。私は残りのリストを取得することができ、recyclerviewは完全にうまくレンダリングされます。Retrofit2:recyclerviewの次のタスクを実行する前に応答を待つ
私はrecyclerviewにアイテムのリストを表示していますが、アイテムにあるイメージにビットマップイメージを追加します。このビットマップイメージをアイテムに存在するイメージに追加する前に、ビットマップイメージがそのアイテムに必要かどうかをチェックするために2回目の呼び出し(非同期)を行う必要があります。
私は非同期呼び出し(エンキューメソッドを使用して)をレトロフィットで行っているため、リサイクルビューはリビジョンの応答を待っているわけではないため、ビットマップをイメージに描画できないためです。各項目。
私は同期呼び出しを使用して問題を解決できることは知っていますが、パフォーマンスを妥協したくありません。
以下は参考用のコードです。
I返された値に基づいてブール値を返しますrecyclerviewアダプタからのコール改造方法だ私は、アイテムの画像に
レトロフィット法ビットマップを描画したい:私はあなたがしたいと思います
HttpRestServiceConsumer.getBaseApiInterface(false)
.getTestWithURL(imageURL)
.enqueue(new Callback<TestResponse>() {
@Override
public void onResponse(Call<TestResponse> call, Response<TestResponse> response) {
try {
if (response.isSuccessful()) {
data = response.body().getTrackElements();
if (response.body().getTrackElements().size() > 0)
testExist = true;
else
testExist=false;
} catch (Exception e) {
}
}
@Override
public void onFailure(Call<TestResponse> call, Throwable t) {
}