动态更改未在SDK 4.1上显示的TextView上的android:drawableEnd / Right

时间:2016-03-16 00:40:20

标签: android textview

我的观点是

<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/txt_suburb"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/default_ripple_selector"
    android:clickable="true"
    android:drawableEnd="@drawable/image_one"
    android:drawableRight="@drawable/image_one"
    android:minHeight="20dp"
    android:orientation="vertical"
    android:textAppearance="?android:textAppearanceSmall"
    android:textColor="@color/black" />

我动态更改了Right Drawable。

 textView.setCompoundDrawablesWithIntrinsicBounds(0, 0, chooseImageTwo?
            R.drawable.image_two: R.drawable.image_one, 0);

除Android版4.1外,它适用于所有版本。 (注意,我在4.1中最早的支持版本)。有什么问题?

1 个答案:

答案 0 :(得分:0)

显然,当XML中有一个drawable时,它不会被4.1中的API调用覆盖。但所有其他版本都运行良好。所以只需删除下面的drawable引用

<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/txt_suburb"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/default_ripple_selector"
    android:clickable="true"
    android:minHeight="20dp"
    android:orientation="vertical"
    android:textAppearance="?android:textAppearanceSmall"
    android:textColor="@color/black" />