方向更改时列表值会发生变化

时间:2012-01-24 11:22:50

标签: android orientation android-listview textview

参考下面的屏幕截图,ListView由3 TextView组成。

根据第3 TextView的值,将相应的颜色分配给第3 TextView个文本。

即。 1.)绿色,如果值> 0

2.)红色,如果值<0

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);
        }

第一个屏幕显示正确的输出。

但是在方向改变时,输出如第二个屏幕所示。

让我们专注于 SHARIABEES ,其值为= 0.0

最初它显示为白色,但在方向改变时,它的颜色变为红色。

我不知道为什么会这样。

欢迎任何建议......

screen

1 个答案:

答案 0 :(得分:4)

将else部分设置为value = 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">
相关问题