参照下面的截图,ListView
由3个TextView
组成。列表值在方向更改时被更改
根据第3个TextView
的值,将相应颜色分配给第3个TextView
的文本。如果值> 0
2.)红色如果值<如果值= 0(缺省)
下列代码段是内部使用0
3.)白色
即1)绿色一个适配器。
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个屏幕显示正确的输出。
但是在方向改变时,输出如第二个屏幕所示。
允许集中SHARIABEES,为此值= 0.0
最初,它出现在白色,但在取向变化它的颜色变为红色。
我不知道为什么它可能会发生。
任何建议,欢迎....
'请注意,如果值大于0或<0,一切正常。问题出现时,值= 0嗯,为什么,哦为什么....因为你不设置颜色,当值为0 ...并且你不知道listview优化,即使你使用“持有人模式”(复制粘贴编程ftw,呵呵) – Selvin
感谢您的建议,但你是什么意思的'listview优化'。我对android开发很陌生,所以我不知道它。 – GAMA
http://www.google.com/events/io/2010/sessions/world-of-listview-android.html ...简单地说... lv不会为evry行创建行视图... lv仅创建可见的行+更多,并重用它...所以它可能会得到行,以前是“红色”或“绿色”,这就是为什么你也应该添加代码的价值== 0 – Selvin