当前位置: 首页 > 知识库问答 >
问题:

我正在使用“android”。所容纳之物资源android。所容纳之物上下文getResources()'

丁钟展
2023-03-14

我已经尝试了很多方法来解决这个问题,但不幸的是没有找到解决方案。这是我呼叫寻呼机适配器的主要活动:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);


    sliderAdapter = new _SliderAdapter(Activity.this);

    intro_view_pager = findViewById(R.id.intro_view_pager);
    intro_view_pager.setAdapter(sliderAdapter);





}

这是我的寻呼机适配器类。我正在尝试获取资源字符串,但上下文始终为null:

    static Context mcontext;
    LayoutInflater layoutInflater;

    public Wazu_SliderAdapter(Context context){
        this.mcontext =context;
    }


    @Override
    public int getCount() {
        return slide_headings.length;
    }


    public String[] slide_headings={



      mcontext.getResources().getString(R.string.headng1),

    };


    public String[] slide_description={

            mcontext.getString(R.string.string1),

    };

    public int[] slide_Images={

            R.drawable.image1,
            R.drawable.image2,

    };





    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
        return view==(RelativeLayout)object;
    }

    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {

        layoutInflater=(LayoutInflater) mcontext.getSystemService(mcontext.LAYOUT_INFLATER_SERVICE);

        View view=layoutInflater.inflate(R.layout.slider_layout,container,false);

        ImageView imageView=view.findViewById(R.id.intro_image);
        TextView heading_text=view.findViewById(R.id.intro_heading_textView);
        TextView description=view.findViewById(R.id.intro_textView_description);

        imageView.setImageResource(slide_Images[position]);
        heading_text.setText(slide_headings[position]);
        description.setText(slide_description[position]);

        container.addView(view);
        return view;
    }

    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        container.removeView((RelativeLayout)object);

    }
}

共有1个答案

公冶嘉
2023-03-14

而不是方法instantiateItem中的这几行

layoutInflater=(LayoutInflater) mcontext.getSystemService(mcontext.LAYOUT_INFLATER_SERVICE);
View view=layoutInflater.inflate(R.layout.slider_layout,container,false);

像这样使用,

View view = LayoutInflater.from(container.getContext()).inflate(R.layout.slider_layout,container,false);

传递的问题为上下文为空。

@Override
public int getCount() {
    return mcontext.getResources().getString(R.string.headng1).length;
}

您在这里的声明时间使用上下文

public String[] slide_description={
    mcontext.getString(R.string.string1),
};

这就是为什么它是空的。

 类似资料:
  • 我正在开发一个应用程序,其中我有显示字符串并且我有一个字符串数组。我想将字符串数组文本转换为语音。但是我有这个错误。我正在为字符串数组提供索引,以便它可以在OnDone UtteranceProgressListener()上将其转换为语音。 这是我的代码: } 我有这个错误。 我不知道为什么会这样。这是字符串数组的bcoz吗?

  • 例外:android。所容纳之物ActivityNotFoundException:找不到显式活动类com。我的应用程序。个人/网络。我的应用程序。个人的照相机CameraActivityKt已在AndroidManifest中声明此活动。xml?

  • 我正在使用ListView在Android中动态添加复选框。我正在使用一个ContextAdapter类来添加充气列表视图。我的错误日志如下: ContextAdapter类如下: 我的ListData类: 在活动中的函数中,我正在执行以下操作: 如果有人能指出我代码中的错误,那将非常有帮助。谢谢干杯

  • 问题内容: 您可以在android的所有内容之上叠加视图吗? 在iPhone中,我将新视图设置为(0,0)并将其宽度和高度设置为的宽度和高度。如果将其添加到,则将使其充当覆盖层,覆盖后面的内容(或者如果它具有透明背景,则显示后面的视图)。 android中有类似的技术吗?我意识到视图略有不同(相对布局,线性布局和框架布局有三种(或更多类型),但是有什么方法可以不加选择地将视图叠加在所有内容之上吗?

  • 介绍如何在云联壹云平台上纳管物理服务器并创建裸金属服务器等。 云联壹云 平台支持纳管物理服务器并基于物理服务器创建裸金属服务器。 物理机纳管相关概念介绍 YunionOS是通过带外控制将物理机引导启动进入一个临时操作系统,这是一个通过buildroot定制的精简Linux系统,内置物理机管理需要的工具软件。Baremetal通过ssh进入这个系统,实现一些更复杂的管理操作,例如配置RAID,部署操

  • 帮助用户解决异构虚拟化平台、宿主机、物理机等资源纳管等方面的问题。 支持哪些虚拟化平台? 支持管理KVM、VMware等虚拟化平台,同时支持阿里云、腾讯云等公有云平台 支持哪些类别的裸金属服务器? 目前主要支持x86服务器,如Intel与AMD平台的物理服务器。 VMware ESXi设置虚拟机嵌套虚拟化的方法? 在 云联壹云 平台上创建虚拟化平台未VMware的虚拟机默认无法嵌套虚拟化,需要在V