2016-12-06 67 views
0

enter image description here如何從其父活動更改viewpager片段的視圖

在此圖像中我有一個列表。

我想要的是將此Fragment的視圖更改爲下面給出的圖像。

Image 2

頁眉,我想添加一個搜索按鈕。通過點擊按鈕,第二個圖像佈局將會出現,再次點擊該按鈕,它會觸發一個返回響應的Web服務。

+0

你能否詳細說明這個問題?你想要什麼功能? – Vinodh

+0

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

回答

0

首先添加搜索按鈕。在你的主要活動中初始化它。在你的項目中,我建議你做一個onclicklistner和一個longclicklistner.For雙擊你必須初始化一個手勢。 我可以爲你提供任何方法的代碼,但我強烈建議你去第一個。因此,我會爲你提供一個代碼。

0

我認爲你實際上要問的是「如何獲得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(); 

在你的活動中

相關問題