如何动态更新单行TextView,仅显示最新坐标数据?
实现单行动态更新坐标的解决方案
我太懂这种烦恼了——每次用append()都会在界面上新增一行坐标,时间一长屏幕上全是旧数据,根本没法一眼看到最新的位置信息!
你现在的代码是每次追加内容还加了换行符,自然会不断换行:
tv_loc.append("Lattitude: " + lattitude + " Longitude: " + longitude + "\n");
要实现单行动态更新最新坐标,只需要把append()换成setText()就行,而且不需要加换行符:
tv_loc.setText("Lattitude: " + lattitude + " Longitude: " + longitude);
原理很简单:append()是在原有内容后面继续添加新内容,而setText()会直接覆盖掉控件里之前的所有内容,这样每次更新时,控件里只会显示最新的那一组坐标,完美实现单行动态刷新的效果。
如果之后你有其他需求(比如要保留历史坐标但最新的在单行置顶),那可能需要额外处理,但就你当前的需求来说,这个修改完全够用啦!
内容的提问来源于stack exchange,提问作者stuck
相关产品推荐
相关产品推荐

