0

次のように、テキストビューの背景色を変更しようとしています。

    for(int i=0; i<arrBool.length; i++) {
        arrBool[i] = r.nextBoolean();
        if(arrBool[i]==true) {
            textView[i].setBackgroundResource(R.color.darkgrey);
        }
    }

R.color.darkgreyでエラーが発生します。これを手伝ってください。

4

4 に答える 4

1

getResources()メソッドを指定し、その後にメソッドを呼び出す必要がありますgetColor()

textView[i].setBackgroundResource(getResource().getColor(R.color.darkgrey));
                                  ^^^^^^^^^^^^^
于 2012-10-31T04:24:58.873 に答える
0

color.xmlで色を使用している間は、getResource()メソッドを呼び出す必要があります。

コードを次のように変更します

for(int i=0; i<arrBool.length; i++) {
    arrBool[i] = r.nextBoolean();
    if(arrBool[i]==true) {
        textView[i].setBackgroundResource(getResource().getColor(R.color.darkgrey));
    }
}
于 2012-10-31T04:23:28.673 に答える
0

他の人が述べているように、コードがアクティビティの一部である場合は、おそらく使用する必要があります。

for(int i=0; i<arrBool.length; i++) {
    arrBool[i] = r.nextBoolean();
    if(arrBool[i]==true) {
        textView[i].setBackgroundResource(getResource().getColor(R.color.darkgrey));
    }
}

注意してください、使用getResource()の方法ですContextWrapper

mContext.getResource().getColor(R.color.darkgrey)

必要に応じて、はmContextですContext

于 2012-10-31T04:28:44.387 に答える
0

次の方法で色が設定されている場合は、背景色を設定します。

textView[i].setBackgroundColor(getResources().getColor(R.color.darkgrey));
于 2012-10-31T04:51:34.067 に答える