2016-12-12 12 views
-2

自分のアプリケーションに必要なカスタムオブジェクトのArrayListを作成しました。私は私のMainActivityからリストを取得する必要がありAndroid - ジェネリックJavaクラスからR.string.xの文字列値を取得

public ArrayList<obj> getList(){ 
    return obj; 
} 

:リスト(約350個の要素を)本当に長いので、私はcreateListgetList方法を持っている別のJavaクラスを作成することを決めました。

私のカスタムオブジェクトは、次のようになります。

new Obj(int[] images, String name) 

私は、このクラスでの活動ではなく、コンテキストを持っていないので、strings.xmlから名前をインポートすることができるように見えることはできません。

は私が

Resources.getSystem().getString(R.string.c) 

てみましたが、私は

ResourcesNotFound例外

それを行うための方法はありますを取得しますか?私はまた、より多くの文字列を1つの名前に連結する必要もあります。

本当にありがとうございます。

答えて

1

このクラスはアクティビティではないため、コンテキストを持たないため、strings.xmlから名前をインポートできないようです。

Objコンストラクタに適切なスコープのContextを指定します。または、文字列自体をObjコンストラクタに渡します。ここで、文字列はリソースIDからContextで解決されます。

私はResources.getSystem().getString(R.string.c)てみましたが、私はgetSystem()だけせいぜい約android.Rリソースを知っているシステムのためのResourcesを返すためであるResourcesNotFoundException

を取得します。

+0

答えていただきありがとうございます。なぜ、私はgetApplicationContext()を使用できませんか? – Daniele

+0

はい、アプリケーションのコンテキストについて知るアプリケーションコンテキストを使用できます。 – Hitesh

+0

@Daniele:なぜgetApplicationContext()を使用できないのですか? - 私はそれに答えることはできません。あなたの目的のために、それはうまくいくはずです。 – CommonsWare

関連する問題