2016-03-10 33 views
0

當我點擊畫廊項目,我想改變視圖頁面項目,但是當我做下面的代碼沒有任何反應,根據預期。viewpager頁面沒有改變點擊

我看了很多計算器ANS並實現了基於這一點,但沒有運氣

查看傳呼機

<android.support.v4.view.ViewPager 
     android:id="@+id/pager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_below="@id/gallery" 
/> 

畫廊

<Gallery 
     android:layout_below="@id/top" 
       android:id="@+id/gallery" 
       android:spacing="20dp" 
         android:background="#000075" 

       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" > 
      </Gallery> 

newGalleryAdapter =new newGalleryAdapter(MainActivity.this, arrCatName,arrCatBool); 
     gallery.setAdapter(newGalleryAdapter); 
     gallery.setSelection(0); 

尋呼機適配器

pager = (ViewPager) findViewById(R.id.pager); 
    pager.setOffscreenPageLimit(arrCatId.size()); 

    for (int j = 0; j < arrCatId.size(); j++) { 
     finalcontentpaths.add(arrCatId.get(j)); 
    } 

    listProductItemAdapter= new MyPagerAdapter(MainActivity.this, finalcontentpaths); 

    pager.setAdapter(listProductItemAdapter); 
    listProductItemAdapter.notifyDataSetChanged(); 
    pager.setCurrentItem(0); 

庫項目點擊

gallery.setOnItemClickListener(new OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, final int position, long id) { 
       setPosition(position,save);  
       newGalleryAdapter.notifyDataSetChanged(); 
       gallery.setSelection(position); 
       save = position; 

       //int a=pager.getCurrentItem()+1; 
       pager.setCurrentItem(position,false); 
       pager.setCurrentItem(position,true); 
       pager.setCurrentItem(position); 
      } 
     }); 
+0

什麼是您的畫廊? – Jas

+0

爲什麼你將'position'傳遞給'pager.setCurrentItem()'? 'onItemClick'方法中的'position'變量是您圖庫中被點擊項目的位置recyclerview – Bhargav

+0

@Bhargav:我想這樣做 –

回答

0

這可能是對你有用。

gallery.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, final int position, long id) { 
     pager.setCurrentItem(position); 
     setPosition(position,save); 
     newGalleryAdapter.notifyDataSetChanged(); 
     gallery.setSelection(position); 
     save = position; 
    } 
}); 

希望它能幫助你。