关于android listview 如何控制文字颜色

我在做一个聊天软件,想如果是对方发来的消息就是灰色的(历史记录中的不算),自己发的就是黑色的,但每次颜色都是一起变,实在弄不明白了,还要请教各位啊,谢谢!需要解决的就是仅... 我在做一个聊天软件,想如果是对方发来的消息就是灰色的(历史记录中的不算),自己发的就是黑色的,但每次颜色都是一起变,实在弄不明白了,还要请教各位啊,谢谢!需要解决的就是仅仅把一行变成灰色。

这是适配器的代码的一部分,有两个构造方法,用来区分是添加历史记录的还是聊天的,buju2中就是一个TextView,from就是发送者,to是接受者,listItemView.title中listItemView是一个内部类,不碍的。
展开
 我来答
幻想流逝
2014-08-03 · TA获得超过1743个赞
知道大有可为答主
回答量:642
采纳率:75%
帮助的人:566万
展开全部
如果这个from是全局变量的话,我感觉这种写法会有问题,先判断一下吧。
在else if(from.equals(to)里加个日志输出,比如
Log.d("MyAdapter","from equals to")
然后你发几条消息,之后在用对方发条消息,看看Log打印了几次,如果不止一次,那我大概就知道问题的所在了。

因为从逻辑上推断,用notifyDataSetChanged()方法刷新列表的时候,肯定要重载所有Item,会多次调用getView方法生成每条记录的界面,而不是一条记录。就是说在你列表变化时,所有记录都是根据此时from的值来生成的,所以才会出现这种结果
追问
的确不只一次,我并没有用notifyDataSetChanged()来刷新,因为并不是很理解,用了几次效果不理想,刷新都是用setAdapter,如何才能不重复加载。
追答
我所能想到的实现方式,是抛开ListView,定义一个LinearLayout代替,然后用addView的方式动态添加。
就叫学渣吧
2014-08-03 · TA获得超过227个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:102万
展开全部
文本颜色是在xml设置的吧
更多追问追答
追问
麻烦你看看问题好吗
麻烦你看看问题好吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式