strings.xml
の配列を使用して静的文字列配列を宣言したいとします。strings.xmlから静的String配列を定義する方法はありますか?
private static final String[] tip_types = getResources().getStringArray(R.array.tip_types_array);
ただし、getResources()
は静的コンテキストでは使用できません。これを行う方法はありますか、または静的変数を使用しないでください。
明らか
private final String[] tip_types = getResources().getStringArray(R.array.tip_types_array);
作品が、その後、宣言された配列は静的ではありません。
は、なぜあなたが本当に必要な配列 – Killer
を選ぶために静的な文字列が[]より良いスティング[]を返す静的メソッドを作成して、コンテキストまたはリソースオブジェクトを渡す必要がありますかあなたはそれが 'static'ことができますが、それはすることはできません'final'であり、' Context'を持っているときに、ある時点でそれを初期化できる必要があります。 – CommonsWare
私はばかだった!私は、コードの先頭からstrings.xmlに難しい引用宣言を移動しようとしていました。 '= 'の後のすべてが明示的な宣言だったので、私はそれをコードに置き換えようとしていました。それは間違ったアプローチでした。私は今、 'getResources ...'を配列を実際に使用するコードに移動しました。 –