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クラスを拡張することですが、 !ではありません。から拡張すると、アプリがクラッシュします。 UtilActivityUtilActivityActivity

4

2 に答える 2

0

あなたがする必要があるのは、メソッドでコンテキストを定義することだけです。

そしてそれをこのように呼びます。

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 に答える