15

Androidアプリの/res/values/colors.xmlの下にcolors.xmlファイルを作成しました。内容は…

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="Green">#00ff00</color>
</resources>

TableRowの背景を更新しようとしています...

    TableRow test = (TableRow)findViewById(R.id.tableRow2);
    test.setBackgroundColor(R.color.Green);

これはそれを緑として設定せず、代わりに灰色になります。私がcolors.xmlファイルにどのような値を追加しても、それは常に同じ灰色です。しかし、これは機能します...

    TableRow test = (TableRow)findViewById(R.id.tableRow2);
    test.setBackgroundColor(android.graphics.Color.GREEN);

私のcolors.xmlに何か問題がありますか?

4

2 に答える 2

22

代わりにこれを使用する必要があります。

TableRow test = (TableRow)findViewById(R.id.tableRow2);
test.setBackgroundColor(getResources().getColor(R.color.Green));

リソースIDと色が同じタイプであるのは残念です:int。を介してリソースから色の値を取得しgetColor()、その値を色として使用する必要があります。リソースIDを色として使用している間。

于 2011-07-10T13:12:54.560 に答える
4

代わりに、コマンドsetBackgroundResourceを使用してみてください。

TableRow test = (TableRow)findViewById(R.id.tableRow2);
test.setBackgroundResource(R.color.Green);
于 2011-07-10T12:58:08.277 に答える