の取得私はは、Android
<color name="lightGrey">#FFCCCCCC</color>
<integer name="KEY_POSITION_ARM">2</integer>
:定義されたいくつかのリソース、例えばを持っている...と私はTextViewsに項目を表示ArrayAdapterを持っています。 「タイプContinuityAdapterため不定)メソッドgetResources(」
keyPosition = getResources().getInteger(R.integer.KEY_POSITION_ARM);
moduleDataView.setTextColor(getResources().getColor(R.color.darkgreen));
...しかし、私のようなエラーが出:私のようなコードを使用して値にアクセスしようとしています。 (ContinuityAdapter extends ArrayAdapter)
良い方法がありますか?
おかげ
これは例である:
switch (currentModule.keyPosition) {
case activity.getResources().getInteger(R.integer.KEY_POSITION_ARM):
moduleDataView.keyPosition.setText("TEST");
moduleDataView.keyPosition.setTextColor(Color.GREEN);
break;
case R.integer.KEY_POSITION_ARM:
moduleDataView.keyPosition.setText("ARM");
moduleDataView.keyPosition.setTextColor(Color.RED);
break;
}
最初の場合は、エラーを与え、そして第二はないが、いずれかのXMLファイルからの値を使用していません。あなたが言うように、私はどこでもそれを使用する限り、私はR ...の値を使うことができます。これが「ベストプラクティス」と考えられるかどうかは不明です。ありがとう
感謝。私はそれを試していましたが、うまくいかなかったと思っていましたが、別のエラーが発生していました。 case文は、リソースが定数であっても、明らかに定数式を必要とします。私はif文を使って立ち往生していますか? – ARQuattr
私はもっとコードを見る必要があります。一般的に私はスイッチのケースを避けようとしました。または、リソースIDを直接使用しています(例:R.id.xyz)。 – user802421
質問を編集してより良いコード例を追加しました。ありがとう – ARQuattr