Skip to content

Instantly share code, notes, and snippets.

@gvsharma
Created May 26, 2014 11:31
Show Gist options
  • Save gvsharma/65d6b28b47aae9cc217f to your computer and use it in GitHub Desktop.
Save gvsharma/65d6b28b47aae9cc217f to your computer and use it in GitHub Desktop.
ViewPager in Fragment to swipe items
In the Fragment :
TabsPagerAdapter mAdapter = new TabsPagerAdapter(getChildFragmentManager(),itemsList);
viewPager.setAdapter(mAdapter);
viewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
}
@Override
public void onPageScrolled(int position, float arg1, int arg2) {
pos = viewPager.getCurrentItem();
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
Here is TabsPagerAdapter :
public class TabsPagerAdapter extends FragmentPagerAdapter {
private int totalCount;
private ArrayList<SwapItems> itemsList;
public TabsPagerAdapter(FragmentManager fm,ArrayList<SwapItems> itemsList) {
super(fm);
this.itemsList = itemsList;
if(itemsList!=null){
this.totalCount = itemsList.size();
}
}
@Override
public Fragment getItem(int index) {
System.out.println("Index Value in TAbs : " +index);
EditFragment frag = new ItemViewFragment();
Bundle args = new Bundle();
args.putSerializable("currentItem", itemsList.get(index));
args.putInt("position", index);
frag.setArguments(args);
return frag;
}
@Override
public int getCount() {
return totalCount;
}
}
ItemViewFragment :
public class EditFragment extends Fragment {
private ImageLoader imLoader;
private ImageView image;
private TextView text;
private String description;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
View result = inflater.inflate(R.layout.pager_fragment_layout, container, false);
image = (ImageView)result.findViewById(R.id.pager_image);
text = (TextView)result.findViewById(R.id.pager_item_desc);
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getActivity()).build();
ImageLoader.getInstance().init(config);
imLoader = ImageLoader.getInstance();
final SwapItems itemList = (SwapItems)getArguments().getSerializable("currentItem");
description = itemList.getItemDescription();
imLoader.displayImage(itemList.getPaths().get(0), image);
text.setText(description);
image.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Fragment fragment = new ItemImagesFragment();
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Bundle bundle = new Bundle();
bundle.putSerializable("val", itemList);
bundle.putBoolean("istMyItem", false);
fragment.setArguments(bundle);
fragmentTransaction.replace(R.id.content_frame, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
});
return result;
}
}
@gvsharma
Copy link
Author

I have used this in one of my project ..hope this could be useful for some one who search here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment