我有一个用于填充列表视图的android应用程序,在此列表视图中有一个验证,根据每个记录的优先级对齐行的颜色(例如,黄色= 1,绿色= 2等...)。
什么会发生,当它是列表视图时,最初会在每个记录中正确加载为匹配,但是,如果您是一种注册方式,无论您是否在整个列表视图中执行多个scrool,这个这是我们最后一次失去这些优先事项,记录变成了一种颜色。如果我在背景中放置一个应用程序,并且当我将它放回前景时,记录传递出来以显示所有相同的颜色,也会发生同样的情况。
有没有人知道发生了什么?
答案 0 :(得分:0)
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>
以下是您要求的代码......
基本上,如果我滚动列表,它会开始在所有图标中添加相同的颜色,并且应该在每个图标中各自的颜色....