Java如何在getCount()中获取PageAdapter中的上下文?

标签 java android

我正在开发一个家居更换应用程序,我需要获取上下文来访问共享首选项,并获取我的应用程序应该在 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() ?

最佳答案

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

public class MyPagerAdapter extends PagerAdapter
    {
        public Context  context;

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

        public int getCount()
        {
            return 5;
        }

    }

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

MyPagerAdapter adapter = new MyPagerAdapter(this);

关于Java如何在getCount()中获取PageAdapter中的上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14330717/

相关文章:

java - 配置 IBM Websphere Mq 服务器和 Java 客户端以创建 SSL 连接

java - 将文件系统从路径列表保存到 SQL 数据库中

java - 卸载Android Studio,但保留android SDK

java - 为什么 future.get() 对于 Volley RequestFuture 总是超时?

android - 如何制作一个 Android 应用程序来访问 BeagleBone Black 的 GPIO?

android - 在 pagedListAdaper 中添加边界回调

android - 可以在免费的 Android 应用中提供应用内购买吗?

java - Pattern.quote 将\\Q 和\\E 添加到字符串 java

java - 防止用户关闭或最小化 Android 应用

android - 使用Android Clean Architecture处理来自API的错误和成功响应