Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么android在多次构建后显示错误的向量_Android_Imageview_Android Vectordrawable - Fatal编程技术网

为什么android在多次构建后显示错误的向量

为什么android在多次构建后显示错误的向量,android,imageview,android-vectordrawable,Android,Imageview,Android Vectordrawable,我已经在不同的应用程序中遇到这个问题很长时间了。我的ImageView中分配了矢量绘图。在第一次安装时一切正常,每个ImageView显示正确的drawable,但在数十次构建和运行后,应用程序开始将drawable放错位置并在错误的ImageView中显示,解决方法是完全卸载应用程序,然后安装它。这在构建阶段是有效的,但我总是问我的问题,当一个用户收到十几个更新时会发生什么,这会发生在他们身上吗?我使用的不是pngs,而是向量,因此这与多个res文件夹和屏幕大小无关 这是我的应用程序,经过十几

我已经在不同的应用程序中遇到这个问题很长时间了。我的
ImageView
中分配了矢量绘图。在第一次安装时一切正常,每个ImageView显示正确的drawable,但在数十次构建和运行后,应用程序开始将drawable放错位置并在错误的ImageView中显示,解决方法是完全卸载应用程序,然后安装它。这在构建阶段是有效的,但我总是问我的问题,当一个用户收到十几个更新时会发生什么,这会发生在他们身上吗?我使用的不是
pngs
,而是
向量
,因此这与
多个res文件夹
屏幕大小
无关

这是我的应用程序,经过十几次构建

在这里,它是一个干净的安装后

这真是令人沮丧,当你在应用程序上处理数据时,你不能放松,我不得不放松我保存的地址,只是为了让图标正确显示。
有人遇到过这个问题吗?他们是如何解决的?

因为我有一个精选的
可绘图项
我最后只是在布局中添加了一个复选框,如

<data>
    <import type="my.app.R"/>
</data>

<androidx.appcompat.widget.AppCompatImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="@dimen/activity_horizontal_margin"
        android:background="@drawable/round_color_primary"
        android:padding="@dimen/small_margin"
        app:imageResource="@{address.type.value == 120 ? R.drawable.ic_home : (address.type.value == 121 ? R.drawable.ic_work : (address.type.value == 124 ? R.drawable.ic_star : R.drawable.ic_destination_outline))}"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:tint="@color/white" />


您是否正在使用recyclerview@vikaskumar是的,我是,它在做什么?如果它只有两个图像,那么它应该不会是一个问题。如果它有很多,那么recyclerview正在尝试回收视图,一些旧的图像引用正在新的视图上使用。您必须清除旧的,然后再添加一个新的才能使其工作。@vikaskumar,所以我需要调用
imgView.setImageDrawable(null)
?是的,它应该可以工作。试过之后告诉我。