我有一个 android 应用程序,它用信息填充列表视图,在此列表视图中有一个验证,根据每条记录的优先级对齐行的颜色(例如,黄色 = 1,绿色 = 2,等等......
会发生什么以及何时是列表视图,最初在每个记录中作为匹配项正确加载,但是,如果您是一种注册方式,无论您是否在整个列表视图中执行多个 scrool,这是我们最后一次丢失这些优先级并且记录都变成一种颜色。如果我将应用程序放在后台,并且当我将其放回前台时,记录会传递以显示所有相同的颜色,则也会发生同样的情况。
有人知道发生了什么吗?
private void setIconColorFromPriority(short prioridade, ImageView icon) {
if (prioridade <= 0) {
prioridade = 8;
}
switch (prioridade) {
case 1:
icon.setTag(getContext().getResources().getColorStateList(R.color.prioridade_1)); //VERMELHO
break;
case 2:
icon.setTag(getContext().getResources().getColorStateList(R.color.prioridade_2)); //LARANJA ESCURO
break;
case 3:
icon.setTag(getContext().getResources().getColorStateList(R.color.prioridade_3)); //LARANJA
break;
case 4:
icon.setTag(getContext().getResources().getColorStateList(R.color.prioridade_4)); //AMARELO
break;
case 5:
icon.setTag(getContext().getResources().getColorStateList(R.color.prioridade_4)); //AMARELO
break;
case 6:
icon.setTag(getContext().getResources().getColorStateList(R.color.prioridade_4)); //AMARELO
break;
case 7:
icon.setTag(getContext().getResources().getColorStateList(R.color.prioridade_5)); //VERDE
break;
case 8:
icon.setTag(getContext().getResources().getColorStateList(R.color.sem_prioridade)); //VERDE
break;
//codigo 9 para a prioridade é referente aos recursos AGENDA
case 9:
icon.setTag(getContext().getResources().getColorStateList(R.color.prioridade_Agenda)); //ROSA SHOCK
break;
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:animateLayoutChanges="false"
android:orientation="vertical">
<LinearLayout
android:id="@+id/form"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:animateLayoutChanges="false"
android:choiceMode="singleChoice"
android:clickable="true"
android:focusable="true"
android:longClickable="true" />
<!--android:layout_gravity="center"-->
<TextView
android:id="@+id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:text="@string/lista_vazia" />
</LinearLayout>
<include
android:id="@+id/loading"
layout="@layout/progress_loading_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:visibility="gone" />
</RelativeLayout>
这是您请求的代码...
基本上,如果我滚动列表,它开始在所有图标中放置相同的颜色,并且应该在每个图标中放置相应的颜色....