java - Android:从模型类访问 R.string

标签 java android

<分区>

我在 model 文件夹中有这个 POJO 模型类。

package com.example.test.model;

public class ModelCampaign {

    private String mNameCampaign;
    private int mIdCampaign;
    private String mTypeCampaign;
    private String mFormattedTypeCampaign;

    public ModelCampaign() {
    }

    public ModelCampaign(String nameCampaign, int idCampaign, String typeCampaign) {
        this.mNameCampaign = mNameCampaign;
        this.mIdCampaign = mIdCampaign;
        this.mTypeCampaign = mTypeCampaign;
    }

    // some stuff

    private String setFormattedTypeCampaign(){

        switch (this.mTypeCampaign){
            case "london" : this.mFormattedTypeCampaign = getString(R.string.london);
                break;
        }

    }

}

我需要访问 strings.xml 文件。当然我没有上下文。我如何访问它们?

非常感谢!

最佳答案

如果你想从你的模型类访问资源,然后将 Resources 对象传递到构造函数中。你的构造函数应该是这样的

public ModelCampaign(Resources res,String nameCampaign, int idCampaign, String typeCampaign){
        this.res = res;
        this.mNameCampaign = mNameCampaign;
        this.mIdCampaign = mIdCampaign;
        this.mTypeCampaign = mTypeCampaign;
    }

你可以通过传递 res id 得到这样的字符串

public String getString(int key){
 return res.getString(key);
}

像这样初始化对象

ModelCampaign mc = new ModelCampaign(getResources(),......);

关于java - Android:从模型类访问 R.string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30804291/

相关文章:

java - 如果我们在 spring MVC 中互换 @service 和 @repository 注解会发生什么

java - 按(区分大小写)字母顺序对字符串进行排序的简单方法

java - 使 String 看起来像 TableModel 中的 url

java - 在 java ASM 中访问私有(private)内部类

android - 内容解析器返回错误的大小

android - FrameLayout 的子边距底部不起作用

java - 在java swing中调整窗口大小时如何使按钮粘在一个地方?

android - Google TV模拟器不支持本地播放和sdcard?

java - 应用程序意外停止,我想做的就是激活一个按钮并进入另一个屏幕

android - youtube iframe API 中的广告不适用于 ipad、iphone 和 android