-1

我有一個活動,它擴展了ActionBarActivity,活動在xml中有以下代碼。ViewPager與FragmentPageAdater無法正常工作?

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

它只是ViewPager。我想顯示圖像的選項列表,所以我選擇創建一個佈局的片段,我想顯示爲ViewPager的一部分。

我創建擴展FragmentPagerAdapter適配器如下:

私有類CategoryViewPagerAdapter擴展FragmentStatePagerAdapter {

public CategoryViewPagerAdapter(FragmentManager fm) { 
      super(fm); 
     } 

     @Override 
     public Fragment getItem(int currentPosition) { 

      return FullScreenFragment.newInstance(fragments 
        .get(currentPosition)); 
     } 

     @Override 
     public int getCount() { 
      // TODO Auto-generated method stub 
      return fragments.size(); 
     } 

    } 

其中片段是字符串列表。

它加載圖像和滑動也可以工作但是顯示的圖像具有以前圖像的標題。 該標題基本上在ActionBar中爲該片段設置。

在我的片段類我這樣做:

parentActivity = (ActionBarActivity) getActivity(); 
     parentActivity.getSupportActionBar().setDisplayOptions(
       ActionBar.DISPLAY_SHOW_CUSTOM); 
     parentActivity.getSupportActionBar().setCustomView(
       R.layout.full_screen_action_bar); 

而且有時也很少的部件,在片段佈局不上點擊片段內的按鈕呈現。我是否需要從活動或片段rootView

回答

0

使用這種方法來findId更新操作欄

vp.setOnPageChangeListener(new OnPageChangeListener() 
    { 

     @Override 
     public void onPageSelected(int arg0) 
     { 
      //update action bar 

     } 

     @Override 
     public void onPageScrolled(int arg0, float arg1, int arg2) 
     { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onPageScrollStateChanged(int arg0) 
     { 
      // TODO Auto-generated method stub 

     } 
    }); 

而對於第二個問題,請提供更多信息。

+0

假設我有五個圖像URL ..所以我創建相同的片段與五個實例每個後一個網址..在片段onCreateView我加載信息爲該網址如圖像的名稱等從服務器...當ViewPager終於得到渲染它顯示圖像,但是錯誤的圖像名稱顯示在操作欄中,它顯示在列表中的前一個圖像的圖像....而且當我滑動時,我希望片段始終具有其初始視圖,而不是在執行操作後查看哪個被更改 – virendrao