1

我对一个包含我想从另一个类调用的信息的简单类有疑问。例如,这是Util包含信息的类:

public class Util{

public ArrayList<RecetaBean> getRellenas() {
    ArrayList<RecetaBean> MiLista = new ArrayList<RecetaBean>();

    RecetaBean receta1 = new RecetaBean();
    String ingrediente1[] = {         getString(R.string.app_name),getString(R.string.app_name),
    };
    receta1.setIngredientesLista(ingrediente1);

    MiLista.add(receta1);
    MiLista.add(receta1);
    MiLista.add(receta1);


    return MiLista;
}   
  }

然后在另一个类中,我得到这样的 Items 调用:

    Util u = new Util();
    ArrayList<RecetaBean> Recetas = u.getRellenas();

Util所以,我在类中有一个执行问题GETSTRING,因为我想得到一个不同的字符串(因为不同的语言)。退出错误的方法是扩展类UtilActivityUtil不是Activity!如果我从 扩展Activity,应用程序崩溃。

4

2 回答 2

0

您需要做的就是在 Method 中定义一个上下文。

并这样称呼它;

Util u = new Util();
ArrayList<RecetaBean> Recetas = u.getRellenas(this);

和你在你的方法中的上下文是这样的:

public ArrayList<RecetaBean> getRellenas(Context con) {
    ArrayList<RecetaBean> MiLista = new ArrayList<RecetaBean>();

    RecetaBean receta1 = new RecetaBean();
    String ingrediente1[] = {         con.getString(R.string.app_name), con.getString(R.string.app_name),
    };
    receta1.setIngredientesLista(ingrediente1);

    MiLista.add(receta1);
    MiLista.add(receta1);
    MiLista.add(receta1);


    return MiLista;
} 
于 2012-08-27T12:53:39.220 回答
0

您是否考虑过使用字符串数组?这将比您尝试做的简单得多。

就整体用户体验而言,我认为您对语言更改的担忧是不合理的。

于 2012-08-27T12:58:41.107 回答