使用 Retrofit/OkHttp 和响应列表列出所有数据

List All Data Using Retrofit/OkHttp With Response List

我有一些代码可以从我的 API 中获取一些数据。我的问题是如何在不使用 jsonData.get(0) 的情况下列出我之前获取的所有对象,我期望像 jsonData.get(i) 这样的东西,所以我假设使用如下所示的东西,但我可以'使用它,那我该怎么做呢?谢谢。

for (int i=0;i<jsonData.length();i++){

MainActivity.java

List<Promo> jsonData = response.body();
Log.i("TESTER",""+jsonData);
String promoID = jsonData.get(0).getId_promo();
String promoTipe = jsonData.get(0).getPromo_type();
String promoValue = jsonData.get(0).getValue_based();
String promoName = jsonData.get(0).getPromo_name();

使用 POJO class 看起来像这样

Promo.java

public class Promo  {
    @SerializedName("id_promo")
    private String id_promo;
    @SerializedName("promo_name")
    private String promo_name;
    @SerializedName("promo_type")
    private String promo_type;
    @SerializedName("value_based")
    private String value_based;
    @SerializedName("quota")
    private String quota;
    @SerializedName("id_event")
    private String id_event;
    @SerializedName("description")
    private String description;

    public String getId_promo() {
        return id_promo;
    }

    public void setId_promo(String id_promo) {
        this.id_promo = id_promo;
    }

    public String getPromo_name() {
        return promo_name;
    }
}

ApiUrl.java

@FormUrlEncoded
@POST("promopublic")
Call<List<Promo>> getPromo(
        @Field("id_event") String id_event,
        @Field("total_buyer") String totalBuyer,
        @Field("id_user") String id_user,
        @Field("id_ticket") String id_ticket);

像下面这样使用 for 循环解决了我的问题

for (int i=0;i<jsonData.size();i++){}