0

我正在开发一个家庭替换应用程序,我需要获取上下文以访问共享首选项并获取我的应用程序应该在 getCount() 上使用它的屏幕数量。

在过去的几个小时里,我一直把头撞在墙上,但我无法弄清楚如何在 getCount() 被触发之前获取上下文。

这是我的代码:

public class MyPagerAdapter extends PagerAdapter {
    public Context context;

    public int getCount() {
        return 5;
    }

    @Override
    public Object instantiateItem(View container, int position) {
        Context context = container.getContext();
    }

我在 instatiateItem 上获取上下文,但 instatiateItem 在 getCount() 之后运行,有没有办法直接在 pageAdapter 上获取上下文?或者如何在 getCount() 被触发之前运行 getContext() ?

4

1 回答 1

1

为什么不将 传递给Context的构造函数MyPagerAdapter?创建MyPagerAdapter如下的构造函数:

public class MyPagerAdapter extends PagerAdapter
    {
        public Context  context;

        MyPagerAdapter(Context context)
        {
            this.context = context;
        }

        public int getCount()
        {
            return 5;
        }

    }

在您的活动中,您应该将 PagerAdapter 初始化为

MyPagerAdapter adapter = new MyPagerAdapter(this);
于 2013-01-15T03:37:34.937 回答