2015-06-12 5 views
0

У меня этот класс POJO Model в модель папка.Android: доступ к R.string из класса модели

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. Конечно, у меня нет никакого контекста. Как я могу получить к ним доступ?

спасибо!

ответ

1

Если вы хотите получить доступ к Ресурсам из вашего класса Model, то передайте объект Resources в конструктор. Ваш конструктор должен выглядеть следующим образом

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

и вы могли бы получить строку, как это пропускание Реза идентификатора

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

и инициализировать объект, как это

ModelCampaign mc = new ModelCampaign(getResources(),......); 
Смежные вопросы