参考下面的屏幕截图,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
最初它显示为白色,但在方向改变时,它的颜色变为红色。
我不知道为什么会这样。
欢迎任何建议......
答案 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">