Android Json解析与改造

时间:2019-06-15 16:18:09

标签: android json retrofit2

我是第一次使用改造,我想解析一些json数据,但是在MainActivity上启动网络请求时可能出错。该应用程序不会崩溃,但不会返回任何值。这是一个在每个项目上都带有OnclickListener的Gridlayout,我只想返回2个值(name和Id)。该对象当前有3个项(名称,ID和一个List <>),这是Full API端点“ https://d17h27t6h515a5.cloudfront.net/topher/2017/May/59121517_baking/baking.json

userID, productID, action

2 个答案:

答案 0 :(得分:1)

也许更新Recycler-Adapter可以工作。我还修改了您的条件。

call.enqueue(new Callback<List<CakesItem>>() {
    @Override
    public void onResponse(Call<List<CakesItem>> call, Response<List<CakesItem>> response) {
        if (response.isSuccessful()) {
          mCakeList = new ArrayList();
          mCakeList.addAll(response.body());
          mCakeAdapter.notifyDataSetChanged();
        }

    }

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

        Toast.makeText(MainActivity.this, "Unable to load data" + t.getMessage(), Toast.LENGTH_SHORT).show();
    }
});

答案 1 :(得分:0)

尝试更改此条件:

  

if(!response.isSuccessful()){

对于类似t的东西:

if(response.isSuccessful()){
                Modelcake respuesta = response.body();
                listcake.addAll(respuesta.getcake()); //in getcake() you get what are you want in your model
                adapter.notifyDataSetChanged();

            }else{
                Log.e("API","onResponse"+response.errorBody());
            }

应该可以。