私のJavaクラスでは、strings.xmlから文字列リソースを使いたいと思います。私は以下のように使用する必要があり、そのためのandroid Javaクラスで文字列リソースを使用する方法
、
getString(R.string.address)
私のクラスは、その撮影活動である場合。しかし、私のクラスは単純なJavaクラスですが、どうすればそこで使うことができますか?
可能ですか? ありがとう
私のJavaクラスでは、strings.xmlから文字列リソースを使いたいと思います。私は以下のように使用する必要があり、そのためのandroid Javaクラスで文字列リソースを使用する方法
、
getString(R.string.address)
私のクラスは、その撮影活動である場合。しかし、私のクラスは単純なJavaクラスですが、どうすればそこで使うことができますか?
可能ですか? ありがとう
あなたのJavaクラスから
。だから、クラスをアクティビティから呼び出して、パラメータcontext
を与え、クラスコンストラクタ内でそのコンテキストを使用して文字列リソースを取得するだけです。
カスタムクラスでは、リソースIDを取得するためにプロジェクトのR名前空間をインポートする必要があります。そして、あなたはあなたのカスタムApplication
クラスで
public class App extends Application{
private static Context mContext;
@Override
public void onCreate() {
super.onCreate();
mContext = getApplicationContext();
}
public static Context getContext(){
return mContext;
}
}
を静的Application Context
を作成することができ、実際の文字列
context.getString(R.string.COOL_STRING)
この回答は不完全です - 質問がまだ残っている人には、リソースIDを取得するためにプロジェクトのR名前空間をインポートする必要があります。例)import com.myappdomain.R 次に実際の文字列を取得する context.getString(R.string.SOME_STRING) –
@AndroidAddict +1あなたのために、あなたは頭痛を救う! – Mirko
@AndroidAddict +1。あなたは答えを編集する必要があります – Br0thazS0ul
アクティビティクラスのコンテキストをjavaクラスに渡してリソースにアクセスできます。あなたのActivityクラス
Helper helper = new Helper(this);
クラスは、コンテキストを持っていないと、コンテキストが必要とされている文字列リソースを使用するように
public class Helper {
Helper(Context c){
c.getString(R.string.address);
}
}
を取得する
import com.myrandomapp.R;
は、次に、あなただけの任意のリソース値を取得するためにApp.getContext().getResources()
を呼び出す必要があります。
このContext
はApplication
タイプなので、このContext
は使い物にならないことがあります。詳細はthisをお読みください。あなたはこの行を追加する場合
あなたは完了できます。
// this is the object itself, and idString is the ID String bound to the literal.
this.getString(R.string.idString)
私はこのコメントはあなたを助け願っています!
Brs。
あなたのプロジェクトがAndroidプロジェクトである場合は、それを使用することができます。あなたはそれを試してみましたか?それを使ってみてください。 –
あなたが答えを受け入れたときのあなたの論理が何か不思議です。 –
+1(12 more to go) – MKJParekh