Passing A Fragment In The Constructor Of An Adapter
Since the onClick event is never triggered on a ViewPager (see this question), I'm going to set the onClickListener to the item container in the adapter. The idea is, when an item
Solution 1:
Check my below code with Change of ItemClick.
classMyAdapterextendsPagerAdapter {
private MyObject[] mItemArray;
private Context mContext;
publicSejoursWidgetAdapter(Context context, MyObject[] itemArray) {
mContext = context;
mItemArray = itemArray;
}
@Overridepublic Object instantiateItem(View collection, int position) {
LayoutInflaterinflater= (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Viewrow= inflater.inflate(R.layout.item, null);
row .setTag(position);
// Add click listener here because setting it directly on the ViewPager does not work (onClick not triggered)
row.setOnClickListener(newOnClickListener() {
@OverridepublicvoidonClick(View v) {
// How can I call MyFragment's onViewPagerClick() ?int position=(Integer) v.getTag();
Log.v("Log_tag", "Here image is clicked"+ position);
//now you known which Page is click you can do what you want.
}
});
((ViewPager) collection).addView(row);
return row;
}
/* More stuff */
}
Post a Comment for "Passing A Fragment In The Constructor Of An Adapter"