如何从其父活动更改viewpager片段的视图

问题描述:

enter image description here如何从其父活动更改viewpager片段的视图

在此图像中我有一个列表。

我想要的是将此Fragment的视图更改为下面给出的图像。

Image 2

页眉,我想添加一个搜索按钮。通过点击按钮,第二个图像布局将会出现,再次点击该按钮,它会触发一个返回响应的Web服务。

+0

你能否详细说明这个问题?你想要什么功能? – Vinodh

+0

这里是最好的例子http://simpledeveloper.com/how-to-communicate-between-fragments-and-activities/ –

首先添加搜索按钮。在你的主要活动中初始化它。在你的项目中,我建议你做一个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(); 

在你的活动中