Reputation: 187
I don't understand why the size is null. So the data is not loaded in the recyclerview.
I load the URLS from the Images from the my database and it should be shown into the recyclerview. I tested and I get the URL's but they are not added to the list.
SharedPreferences USERNAMEsp;
String USERNAME;
RecyclerView recyclerViewImageSlider;
List<ImageGetter> imageList = new ArrayList<>();
ImageAdapter imageAdapter;
ImageGetter imageGetter;
PullData pullData = new PullData(Profil.this);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profil);
USERNAMEsp = getSharedPreferences("DATAUSERNAME",MODE_PRIVATE);
USERNAME = USERNAMEsp.getString("DATAUSERNAME","");
pullData.getData(USERNAME, "3", new Pullcallback() {
@Override
public void getSingleData(String data) {
imageGetter = new ImageGetter(data);
imageList.add(imageGetter);
}
@Override
public void getMultipleData(String[] multipledatas) {
}
@Override
public void onError(String errormessage) {
}
});
recyclerViewImageSlider = findViewById(R.id.recyclerViewImages);
imageAdapter = new ImageAdapter(Profil.this, imageList, new AdapterCallback() {
@Override
public void onLoaded() {
}
});
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(Profil.this,LinearLayoutManager.HORIZONTAL,false);
recyclerViewImageSlider.setLayoutManager(layoutManager);
recyclerViewImageSlider.setHasFixedSize(true);
recyclerViewImageSlider.setAdapter(imageAdapter);
recyclerViewImageSlider.setOnFlingListener(new PagerSnapHelper());
SnapHelper snapHelper = new PagerSnapHelper();
snapHelper.attachToRecyclerView(recyclerViewImageSlider);
imageAdapter.notifyDataSetChanged();
}
Upvotes: 0
Views: 76
Reputation: 6107
Call imageAdapter.notifyDataSetChanged();
after imageList.add(imageGetter);
because you are modifying arraylist and you have to let the adapter know to reload data set
pullData.getData(USERNAME, "3", new Pullcallback() {
@Override
public void getSingleData(String data) {
imageGetter = new ImageGetter(data);
imageList.add(imageGetter);
imageAdapter.notifyDataSetChanged();
}
@Override
public void getMultipleData(String[] multipledatas) {
}
@Override
public void onError(String errormessage) {
}
});
Upvotes: 1