我是第一次使用改造,我想解析一些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
答案 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());
}
应该可以。