上次聊天的那个界面上用的一个TextView,然后每次消息都用text.append("消息内容"+"\n")函数来在text字符串后边接一段,然后重新显示这个内容。

  现在需要美化界面,将消息内容放到一个ListView里边,每个消息是一个Item,然后进行显示,效果图如图所示:

  那么问题来了,我每次有新的消息的时候,都会排列在上一个Item的下方,即使到了最底下,最新的消息也会沉到最下边,显示不出来,需要手动滑动屏幕来显示最新消息,显然是不符合实际要求的。于是想了一个办法,让他每次都显示ListView的最后一个Item,我是看的别人的CSDN博客(这里附上Ta的博客链接http://blog.csdn.net/snow12342234/article/details/49794507),这里直接照搬过来,然后供自己以后学习参考:

  

  其实listView元素直接在xml里就可以简单定义实现好这个效果,附带实现的方法三个。
 
  方法1:直接在layout里对listView的属性定义
    StackFromBottom: true
    Transcript Mode: alwayScroll
 
  方法2: 把上面的方法改为java代码的方式声明
    listView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
    listView.setStackFromBottom(true);
 
  方法3: 变通的做法 把焦点focus去listView的最后一个item,那自然就是显示最底部
    每次适配器 adapter.notifyDataSetChanged() 之后要记得调用,略麻烦
    注意要用 post的方法确保listview的数据已经加载完毕
private void scrollMyListViewToBottom() {
listView.post(new Runnable() {
@Override
public void run() {
// Select the last row so it will scroll into view...
listView.setSelection(listAdapter.getCount() - 1);
}
});
}

  好了,这三种方法我没有全部尝试,只是用了第二种,直接设置ListView,然后看效果就变成了这样:

  程序还在完善中,回头还会再来补充......

设置ListView显示到最后一行的更多相关文章

  1. Android 设置ListView当前显示的item

    项目中可能会有这种需求:动态设置ListView显示的item 这种需求可能会出现在不同的情况下,有的是打开页面就要显示在特定的位置,也有的是浏览列表时实时更新数据并且改变了集合中数据,或者是某种条件 ...

  2. listview显示固定条数

    看了很多网上其他大神的,感觉还是在listview的adapter中的getCount中下手比较好点 毕竟计算高度等等,那会让辅助的布局会一团糟,例如下面的搜索历史只显示四条,布局中有横向listvi ...

  3. ScrollView嵌套listview显示一行bug

    首先看看修复bug之后的显示对比图,结果一目了然 显示一行之前 修改bug之后 主要就是ScrollView嵌套listview显示计算  直接上代码   一目了然 <com.wechaotou ...

  4. ScrollView嵌套ListView显示不完全、嵌套TextView不能滚动解决办法

    目录: 一.情景说明 二.最初做法 三.解决办法 一.情景说明 1.情景       最近项目刚好有一个需求,需要在一个界面中用ScrollView嵌套一个滚动的TextView和一个listView ...

  5. 实现ScrollView中包含ListView,动态设置ListView的高度

    ScrollView 中包含 ListView 的问题 : ScrollView和ListView会冲突,会导致ListView显示不全 <?xml version="1.0" ...

  6. android 多个listView的向下滚动设置 listView动态设置高度代码

    墨迹天气图: 这里都是用的android里面的shape实现的,实现起来比较简单,只是在滚动的时候有点小麻烦... 当我们多个ListView超出了它的父控件LinearLayout的时候,它们每个L ...

  7. Android 设置ListView不可滚动 及在ScrollView中不可滚动的设置

    http://m.blog.csdn.net/blog/yusewuhen/43706169 转载请注明出处: http://blog.csdn.net/androiddevelop/article/ ...

  8. Android在ListView显示图片(重复混乱闪烁问题)

    Android在ListView显示图片(重复混乱闪烁问题) 1.原因分析 ListView item缓存机制: 为了使得性能更优,ListView会缓存行item(某行相应的View). ListV ...

  9. android中设置ListView的选中的Item的背景颜色

    ListView中没有默认的选择颜色,只有选择Item后的焦点颜色,鼠标点击时Item有颜色,放开鼠标后颜色也就没有了,要实现放开鼠标后选择项的背景还是有颜色的. 1.配置main.xml <? ...

随机推荐

  1. LRU ,LRUW,CKPT-Q

    原文出处:http://www.itpub.net/thread-1631537-1-1.html    http://www.linuxidc.com/Linux/2012-07/66767.htm ...

  2. 如何打包maven项目

    start 步骤1:项目右键-->Run As-->Maven clean 步骤2:Run As-->Maven install end

  3. Greys--JVM异常诊断工具

    https://github.com/oldmanpushcart/greys-anatomy/wiki/greys-pdf 一.简介 我们平时在线上或者开发中会遇到各种性能.功能等问题,在运行过程中 ...

  4. node linux

    在linux下安装nodejs 教程:http://my.oschina.net/blogshi/blog/260953 连接linux服务器,supervisor bin/www,断开连接,服务器还 ...

  5. Javascript 对象继承 原型链继承 对象冒充 call 混合方式

    一.原型链继承 function ClassA() {} ClassA.prototype.color = "blue"; ClassA.prototype.sayColor = ...

  6. 源自KPI交谈的思考

    说明白一件事情不容易 前言 跟领导谈及下半年KPI的时候,问我什么打算/计划,在交谈过程中,有几个有意思的点 问题 Q: 目标是hold住服务端,那么怎么样才算hold住服务端? Q: 如何推动别人去 ...

  7. 记录一次错误处理 (xml序列化和反序列化相关)

    XML序列化后,反序列化时出现错误 报错现象 System.InvalidOperationException: XML 文档(40, 11)中有错误. ---> System.Xml.XmlE ...

  8. Asp.Net Mvc异步上传文件的方式

    今天试了下mvc自带的ajax,发现上传文件时后端action接收不到文件, Request.Files和HttpPostedFileBase都接收不到.....后来搜索了下才知道mvc自带的Ajax ...

  9. 项目中jsp的存放

    今天早上犯的错, 复习jsp,把jsp放在 WEB-INF 下  我启动项目,想看效果的时候,一直找不到指定的资源404 后来一番探索,我把它拖放在了WebContent  直接访问的,下午看到知识点 ...

  10. CS231-Multi-calss SVM的求导

    接着上周的更,上周我们更到,在对图像的线性分类中,我们只用multi-class 的svm,然后我们得到以下的损失函数 这里每个数值代表为下: X 是一个 N by D 的矩阵,N 代表 traini ...