获取Viewpager页码

时间:2013-01-02 13:53:43

标签: android imageview

我有一个视图分页器,其中包含一个带有图像视图的网格视图的片段。我下载图像并将它们放在网格视图上。我可以从我的图像适配器访问视图寻呼机位置吗?

ViewPager

pager = (ViewPager)super.findViewById(R.id.viewpager_menu);
FragmentManager fm = getSupportFragmentManager();   
Log.d(TAG, "ViewPager adapter created");
this.mPagerAdapter  = new MyPagerAdapter(fm);
mPagerAdapter.testText = "TITS";
pager.setAdapter(mPagerAdapter);

ViewPager适配器getItem方法:

@Override
public Fragment getItem(int position) {
    fragmentPosition = position;
    Log.e("PageAdapter", "Creating fragment at: " + position);
    DefinedValues.thumbnailInfo.put("activity", DefinedValues.images);
    DefinedValues.thumbnailInfo.put("type", "info");
    DefinedValues.thumbnailInfo.put("page", position+ 1 + "");

    String request = Json.stringToJson(DefinedValues.thumbnailInfo);
    DefinedValues.thumbnailInfo.clear();

    StringAsyncRetriever net = new StringAsyncRetriever();
    net.setListener(MyPagerAdapter.this);
    net.execute(request, DefinedValues.GET_DATA);
    fragment1 myFragment = new fragment1();
    return myFragment;
}

fragment1中设置适配器:

    View view =  inflater.inflate(R.layout.menu1_fragment, container, false);
    gridView = (GridView)view.findViewById(R.id.gridview1);
    gridView.setAdapter(adapter);
创建片段后,

StringAsyncRetriever会下载有关六个缩略图的信息。完成后,它会创建六个图像,将它们添加到全局容器中,并在为imageView设置适配器时,相应地下载图像,进行设置。我需要的是访问imageAdapter中的页码以设置正确的图像。

1 个答案:

答案 0 :(得分:0)

  

vp是viewPager,

     

static int currentPage;

     

pageListener = new PageListener();

     

vp.setOnPageChangeListener(pageListener);

     

你必须放一页   更改viewPager的侦听器。 viewPager上没有方法   获取当前页面。

     

private int currentPage;

private static class PageListener extends SimpleOnPageChangeListener{
        public void onPageSelected(int position) {
            Log.i(TAG, "page selected " + position);
               currentPage = position;
    }
}
     

或在最新的套餐中,您也可以使用

     

vp.getCurrentItem()

你可以将currentPage声明为static,然后你可以使用

从适配器中声明它

activityname.currentPage;