-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