以编程方式从android中的drawable创建textview背景

use*_*667 10 android gradient background textview

我必须在android TextView上以编程方式设置背景

我使用下面的code.its不工作,它也给了我nullpointerexception错误.

best_deals = (TextView) findViewById(R.id.bestdeals);
 best_deals.setBackground(getResources().getDrawable(
                                       R.drawable.headerradius));
Run Code Online (Sandbox Code Playgroud)

但我必须把这些

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>
Run Code Online (Sandbox Code Playgroud)

Har*_*shi 44

你需要使用setBackgroundResource()方法.

例如 :

best_deals.setBackgroundResource(R.drawable.headerradius);
Run Code Online (Sandbox Code Playgroud)

有关setBackgroundResource()的更多信息.

  • 谢谢你给我这么好的解决方案……我已经尝试过这些解决方案。但我的 id 是错误的。这就是为什么我得到空指针错误异常。现在我得到了输出。谢谢。 (2认同)