0

I'm developing something like a ViewPager, but I do not know the accurate count of the elements.
I know only one element, which I should load immediately. Simultaneously I should load data to right and left fragment (I'm loading left and right side from server based on visible fragment).
So the user can swipe either left or right (as with typical ViewPager) and I dynamically determine which data I should load.

It looks like https://i.stack.imgur.com/X2fti.png

In theory, I should create such pseudo methods:

void loadLeftFragment(MainFragmentData);
void loadRightFragment(MainFragmentData)
void loadMainFragment();

Moreover, I should listen for right and left swipe gestures and load the data into all the Fragments according to the swipe.
In addition, this process should have some animation.

So, can you give some idea on how to create this or where I can read/see any appropriate information?

  • What you are describing is exactly what the view pager does. Why are you trying to reinvent the wheel? If you really want to you can start by looking at the [ViewPager source](http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.1_r1/android/support/v4/view/ViewPager.java) – Naveed Jun 18 '15 at 17:15
  • @Naveed I do not want reivent the wheel - that why I'm looking for help. As I said ViewPager DOES need adapter, which knows count of elements. I don't know exactly the count of them (I'm downloading them from internet and put into right or into left (if I've received data) fragment) – AndriiGenesis Jun 18 '15 at 17:22
  • You can still create it with a view pager and have an initial count. Your data set can always increase. As more data comes in you can call `notifyDatasetChanged` to let the adapter know that more data has came in. – Naveed Jun 18 '15 at 17:33
  • Possible duplicate of http://stackoverflow.com/questions/13664155/dynamically-add-and-remove-view-to-viewpager. – Markus Rubey Jun 18 '15 at 18:03
  • @Naveed Hmm. I've tried your suggestion and realized why I didn't implement it before. So, look this scenario. I'm opening 0 element from adapter. Simultaneously, I'm loading left part. After loading I have to put result into 0 position (theoretically I have to put it into -1 position, but I can't). Than I call ```notifyDataSetChanged()``` and what I see? All results is shifted and I see new result instead of that I've opened. So, your suggestion doesn't work in my case (or am I doing smth in a wrong way?) – AndriiGenesis Jun 21 '15 at 09:27

0 Answers0