从recylerviewAdapter嵌套的片段setCurrentItem为viewPager [英] setCurrentItem for viewPager in nested fragment from recylerviewAdapter
问题描述
我有一个具有viewPager有四个片段(frag1,frag2,frag3,frag4)一个父活动(NavigationActivity)。
I have a parent activity (NavigationActivity) that has a viewPager with four fragments(frag1, frag2, frag3, frag4).
然后frag2有nestedViewPager 3个片段(nestedFrag1,nestedFrag2,nestedFrag3)。
Then frag2 has a nestedViewPager with 3 fragments(nestedFrag1, nestedFrag2, nestedFrag3).
该nestedFrag1具有加载与图像卡recylerview,图像有onCLickListerner。
The nestedFrag1 has a recylerview that loads cards with images, and the images have an onCLickListerner.
@Override
public void onBindViewHolder(final ViewHolder viewHolder, int i) {
Poi_MDL poi = poiItems.get(i);
viewHolder.poiTitle.setText(poi.getTitle());
viewHolder.numComments.setText("" + poi.getNumComments());
viewHolder.numLikes.setText("" + poi.getNumLikes());
ArrayList<String> images = poi.getPhotos();
if( images.get(0) != null){
Log.d("IMAGE URL", images.get(0));
Picasso.with(context)
.load(Constants.HOSTED_IMG_URL + images.get(0))
.into(viewHolder.poiImg);
}
viewHolder.poiImg.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// This is where I want to call setCurrentItem for the nestedViewPager
Log.d(LOG_TAG,"" + context.getClass());
Snackbar.make(v, "" + viewHolder.getAdapterPosition() , Snackbar.LENGTH_SHORT).show();
}
});
}
当点击一个图像,我想打电话给setCurrentItem在nestedViewPage。
When an image is clicked, I want to call setCurrentItem on the nestedViewPage.
我怎样才能从该recyclerview适配器实现这一目标?
How can I achieve this from the the recyclerview adapter?
推荐答案
我已经能够解决这个使用下面的方法:
I have been able to solve this using the following method:
- 在我的嵌套片段具有recyclerView(nestedFrag2)我叫getParentFragment()和实例化它作为一个nestedFrag1(即持有viewPager)
- 我然后建立一个接口在我recylerView适配器和nestedFrag2实现的接口和使用上述onBindView听众展示回调。
这篇关于从recylerviewAdapter嵌套的片段setCurrentItem为viewPager的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!