0

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

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以设置正确的图像。

4

1 回答 1

0

vp 是 viewPager ,

静态 int 当前页;

pageListener = new PageListener();

vp.setOnPageChangeListener(pageListener);

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

私有 int 当前页面;

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

或者在最新的包中你也可以使用

vp.getCurrentItem()

您可以将 currentPage 声明为静态,然后您可以从适配器使用

活动名称.当前页面;

于 2013-01-02T14:01:03.387 回答