Значение списка изменяется при изменении ориентации - PullRequest
0 голосов
/ 24 января 2012

Ссылаясь на скриншот ниже, ListView состоит из 3 TextView.

В зависимости от значения 3-го TextView, соответствующему цвету присваивается текст 3-го TextView.

т.е. 1.) Зеленый, если значение> 0

2.) Красный, если значение <0 </p>

3.) Белый, если значение = 0 (по умолчанию)

Следующий фрагмент кода используется внутри адаптера.

if (Float.parseFloat(map.get(RecentChg_COLUMN)) > 0) {
            holder.tvRecentChg.setTextColor(Color.GREEN);
        }

else if (Float.parseFloat(map.get(RecentChg_COLUMN)) < 0) {
            holder.tvRecentChg.setTextColor(Color.RED);
        }

1-йна экране отображается правильный вывод.

Но при изменении ориентации вывод происходит, как показано на 2-м экране.

Позволяет сконцентрироваться на SHARIABEES , для которого значение = 0,0

Первоначально он отображается белым цветом, но при изменении ориентации его цвет меняется на красный.

Я понятия не имею, почему это может происходить.

Любые предложения приветствуются ....

screen

1 Ответ

4 голосов
/ 24 января 2012

установите остальную часть также для значения = 0

if (Float.parseFloat(map.get(RecentChg_COLUMN)) > 0) {
        holder.tvRecentChg.setTextColor(Color.GREEN);
    }

else if (Float.parseFloat(map.get(RecentChg_COLUMN)) < 0) {
        holder.tvRecentChg.setTextColor(Color.RED);
    }
else if (Float.parseFloat(map.get(RecentChg_COLUMN)) == 0) {
        holder.tvRecentChg.setTextColor(Color.WHITE);
    }

и в файле androidmanifest.xml в вашем теге установите это

<activity android:name=".HomeActivity" android:label="@string/app_name" android:configChanges="orientation">
...