如何从其父活动更改viewpager片段的视图
问题描述:
在此图像中我有一个列表。
我想要的是将此Fragment
的视图更改为下面给出的图像。
页眉,我想添加一个搜索按钮。通过点击按钮,第二个图像布局将会出现,再次点击该按钮,它会触发一个返回响应的Web服务。
答
首先添加搜索按钮。在你的主要活动中初始化它。在你的项目中,我建议你做一个onclicklistner和一个longclicklistner.For双击你必须初始化一个手势。 我可以为你提供任何方法的代码,但我强烈建议你去第一个。因此,我会为你提供一个代码。
答
我认为你实际上要问的是“如何获得ViewPager的片段的引用并做一些事情”。 如果是这样的话,你可以看看here,你看,它是一个非常普遍而不是那么简单的问题。 一到OT正确地解决(提供你已经使用了FragmentStateAdapter)的办法是做类似如下:
在你的活动:
private CustomFragment mHomeFragment;
private CustomFragment mOfferFragment;
private CustomFragment mFavoriteFragment;
private CustomFragment mInfoFragment;
,然后在你的适配器
@Override
public Fragment getItem(int position) {
return CustomFragment.newInstance(position, null);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
Fragment createdFragment = (Fragment) super.instantiateItem(container, position);
// save the appropriate reference depending on position
switch (position) {
case 0:
mHomeFragment = (CustomFragment) createdFragment;
break;
case 1:
mOfferFragment = (CustomFragment) createdFragment;
break;
case 2:
mFavoriteFragment = (CustomFragment) createdFragment;
break;
case 3:
mInfoFragment = (CustomFragment) createdFragment;
break;
}
return createdFragment;
}
做的是,它可以让你做的事:
mViewPager.setCurrentItem(1);
mOfferFragment.doSomething();
在你的活动中
你能否详细说明这个问题?你想要什么功能? – Vinodh
这里是最好的例子http://simpledeveloper.com/how-to-communicate-between-fragments-and-activities/ –