بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
ساخت کلاس CustomCallBack با رتروفیت
سلام دوستان
درمورد ازتباط با سرور و رتروفیت سوالی داشتم
من یک CustomCallBack نوشتم که extends شده از یک کلاسی ،و همه ی کلاس های مدلم هم extends شدن به اون کلاس
public abstract class CustomCallBack<T extends CustomResponse> implements Callback<T> {
@Override
public void onResponse(Call<T> call, Response<T> response) {
//Do something
}
@Override
public void onFailure(Call<T> call, Throwable t) {
}
}
بعد هر جا میخوام ریکوئست رو بفرستم توی enque یا execute به جای اینکه کال بک بدم، CustomCallBack رو نیو میکنم
به این صورت مثلا :
call.enqueue(new CustomCallBack<extendedCustomResponse>(){
@Override
public void onResponse(Call<Album> call, Response<Album> response) {
super.onResponse(call, response);
}
@Override
public void onFailure(Call<Album> call, Throwable t) {
super.onFailure(call, t);
}
});
الان مشکل من اینجاست که به جای Call<Album> توی کد بالا باید بنویسم Call<List<Album>>
چون ساختار json دریافتیم لیستی از object هاست اما وقتی اینو مینویسم ارور میده میگه باید یک class از جنس Album به Call پاس بدی نه List
به نظرتون چطور می تونم این مشکل رو برطرف کنم ؟
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
Mohammad Babaei
7 سال پیش
0
0
تو کلاس سرویستون تعریف کردین که ریسپانس این فانکشن که دارین کال میکنین از جنس < < Call<List<Album> هست؟
به این شکل باید بگین ریپانسش لیستی از object Album هست
Kotlin
@FormUrlEncoded
@POST("user/get_messages")
fun getMessages(@Field("user_name") userName: String ): Call<List<Album>>
Java
@FormUrlEncoded
@POST("user/get_messages")
Call<List<Album>> getMessages(@Field("user_name") String userName);
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .