GridView contains category, and when I do tap on any of the GridView item i would like to show items those belongs to that particular Category only in ViewPager.
ISSUE
Still showing all the items in a ViewPager, no matter which category that belongs to !
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long id) {
String categoryName = menusArrayList.get(position).getName().toString();
Log.d("categoryName:", categoryName);
// Pass results to ViewPagerAdapter Class
adapter = new ViewPagerAdapter(MenusActivity.this, R.layout.adapter_viewpager, itemsArrayList);
// Binds the Adapter to the ViewPager
viewPager.setAdapter(adapter);
}
});
ViewPagerAdapter.java:
public class ViewPagerAdapter extends PagerAdapter {
ArrayList<Items> itemsList;
LayoutInflater layoutInflater;
int Resource;
ViewHolder holder;
Context context;
public ViewPagerAdapter(Context context, int resource, ArrayList<Items> itemsArrayList) {
this.layoutInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.Resource = resource;
this.itemsList = itemsArrayList;
this.context = context;
}
@Override
public int getCount() {
return itemsList.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((RelativeLayout) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
TextView textTitle;
ImageView imageViewPager;
layoutInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = layoutInflater.inflate(R.layout.adapter_viewpager, container, false);
textTitle = (TextView) itemView.findViewById(R.id.textTitle);
textTitle.setText(itemsList.get(position).getTitle());
imageViewPager = (ImageView) itemView.findViewById(R.id.imageView);
Picasso.with(context)
.load(itemsList.get(position).getImage())
.into(imageViewPager);
((ViewPager) container).addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// Remove viewpager_item.xml from ViewPager
((ViewPager) container).removeView((RelativeLayout) object);
}
}
EDITED:
public ViewPagerAdapter(Context context, int resource, ArrayList<Items> itemsArrayList, String name) { ...}
and
adapter = new ViewPagerAdapter(MenusActivity.this, R.layout.adapter_viewpager, itemsArrayList, categoryName);
Aucun commentaire:
Enregistrer un commentaire