动态添加到LinearLayout时,不会显示ImageView

时间:2017-02-18 19:37:46

标签: android android-layout dynamic view android-support-library

我正在使用支持库compile 'com.android.support:support-v4:25.1.1' 当我试图动态地将视图添加到其他布局图像时,将会丢失。

我在图片视图中使用此图片时,

app:srcCompat="@drawable/ic_remove_task"图片未显示。

当我写这样的android:src="@drawable/ic_remove_task"

时,它会起作用

可能出现什么问题?

这里是ImageView

<ImageView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        app:srcCompat="@drawable/ic_remove_task"
        android:id="@+id/remove_sub_task_icon" />

代码在这里,来自上一个问题: Adding view to LinearLayout dynamically

2 个答案:

答案 0 :(得分:1)

从Android支持库23.3.0开始,支持向量drawables 只能通过app加载:srcCompat

您需要将 vectorDrawables.useSupportLibrary = true 添加到build.gradle文件

xargs -0

并确保应用程序使用正确的命名空间,如下所示:

grep -E  ". " suspicious.txt | tr '\n' '\0' | xargs -0 chmod 000

答案 1 :(得分:0)

我自己已经解决了。问题在于夸大观点。 你必须像这样初始化充气机:

LayoutInflater layoutInflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

而不是:

 LayoutInflater layoutInflater = (LayoutInflater) activity.getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);