无法从wet raterofit android中获取wromand.body()的列表



我正在尝试通过Raterofit从Get Request获取列表。但是,每当我尝试从响应中的列表值访问值时。Body..body()(成功地从数据库检索数据)时,错误始终是索引之外的,列表列表返回NULL。

我试图用列表中的所有数据填充回收视图。但是它总是返回null,因此我的回收视图总是空的。

以下是我的服务类的代码:

@GET("products/getallproducts") Call<List<Product>> getAllProducts();

课程用于检索我的列表并填充回收即可:

public class HomeActivity extends AppCompatActivity {

List<Product> proGet = new ArrayList<Product>(); //some more codes here //some more codes here //some more codes here //lastly followed by the method createDummyData()

public void createDummyData() {

    Call<List<Product>> call = restServices.getService().getAllProducts();
    call.enqueue(new Callback<List<Product>>() {
        @Override
        public void onResponse(Call<List<Product>> call, Response<List<Product>> response) {
            int statusCode = response.code();
            productGet = response.body();
            //^^^this is where the problem is
           //class used for populating one section
            SectionDataModel dm = new SectionDataModel();
            dm.setHeaderTitle("trend");
            //class SingleItemModel is for adding single item into the section
            ArrayList<SingleItemModel> singleItem = new ArrayList<SingleItemModel>();
            //adding each item into the SingleItem array list
            singleItem.add(new SingleItemModel(proGet.get(0).status, productList.get(0).category));
            singleItem.add(new SingleItemModel(proGet.get(0).name, productList.get(0).productid));
            //populate the singleItem array list into one section
            dm.setAllItemsInSection(singleItem);
            //populate the whole RecycleView
            allSampleData.add(dm);

        }
        @Override
        public void onFailure(Call<List<Product>> call, Throwable t) {
        }
    });

}

`

logcat中的错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.kennethlo.kickgoo/com.example.kennethlo.kickgoo.HomeActivity}: java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0

我绝望,希望有人能提供帮助。预先感谢。

首先需要检查响应大小大于0(零)。

if(productGet.size() > 0){
    //Code...
}

,还检查 productList 的大小比0(零)。

相关内容

  • 没有找到相关文章

最新更新