i'm implement recycler view and i use retrofit to fetch data from api
the data as a array json
after that i'm implement retrofit object , inside the for loop i have problem i can't fetch data send data for model and i don't have any error message , just blank screen
and this message in logat
E/RecyclerView: No adapter attached; skipping layout
this is my mainActivity :
public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private ProgressBar progressBar;
private LinearLayoutManager mlinearLayout;
ArrayList<Model> list;
Adapter adapter;
String url = "https://d17h27t6h515a5.cloudfront.net/";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listitem);
recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
progressBar = (ProgressBar) findViewById(R.id.progressbar);
mlinearLayout = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.VERTICAL, false);
recyclerView.setLayoutManager(mlinearLayout);
list = new ArrayList<>();
getRetrofitArray();
adapter=new Adapter(list ,MainActivity.this);
recyclerView.setAdapter(adapter);
}
public void getRetrofitArray() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create())
.build();
RetrofitArrayAPI servese =retrofit.create(RetrofitArrayAPI.class);
Call< List<Recipe>> call=servese.getRecipeDetails();
call.enqueue(new Callback<List<Recipe>>() {
@Override
public void onResponse(Call<List<Recipe>> call, Response<List<Recipe>> response) {
for(int i=0;i<response.body().size();i++){
list.add(new Model(response.body().get(i).getName(),response.body().get(i).getServings(),Model.Image));
}
adapter.notifyDataSetChanged();
}
@Override
public void onFailure(Call<List<Recipe>> call, Throwable t) {
Log.e("main","retrifit error"+ t.toString());
}
});
}
my modele