プログラムで背景を設定する必要がありますAndroid TextView
以下のコードを使用しています。それは機能しておらず、nullpointerexceptionエラーが発生しました。
_best_deals = (TextView) findViewById(R.id.bestdeals);
best_deals.setBackground(getResources().getDrawable(
R.drawable.headerradius));
_
しかし私はこれらを置かなければなりません
best_deals.setTextColor(Color.parseColor("#be2351"));
は機能していることを意味します
上記のコードの何が問題になっていますか?
これは私のheader_redius.xmlです。
_<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle" Android:padding="10dp">
<solid Android:color="#000000"/>
<corners
Android:radius="15dp"
/>
<gradient
Android:startColor="#434343"
Android:centerColor="#434343"
Android:endColor="#434343"
Android:angle="270"
Android:type="linear"
/>
<padding Android:left="10dp"
Android:top="0dp"
Android:right="10dp"
Android:bottom="0dp"/>
<stroke
Android:width="2dp"
Android:color="#000000" />
</shape>
_
setBackgroundResource()
メソッドを使用する必要があります。
例えば :
best_deals.setBackgroundResource(R.drawable.headerradius);
動作した最終コード
JELLYBEANより古いAPIでは、プログラムでドローアブルをロードする方法が異なります。これを試して:
final int sdk = Android.os.Build.VERSION.SDK_INT;
if(sdk < Android.os.Build.VERSION_CODES.JELLY_BEAN) {
textView.setBackgroundDrawable(getResources().getDrawable(R.drawable.shape_rect_outline));
} else {
textView.setBackground(getResources().getDrawable(R.drawable.shape_rect_outline));
}