我有同样的问题。 我刚刚解决了。

诀窍是使用TextView的getEditableText()方法。 它有一个replace()方法,甚至是一个delete()方法。 当你在其中追加getEditableText() ,TextView已经被标记为“editable”,这是使用getEditableText()所必需的。 我有这样的事情:

private final static int MAX_LINE = 50; private TextView _debugTextView; // Of course, must be filled with your TextView public void writeTerminal(String data) { _debugTextView.append(data); // Erase excessive lines int excessLineNumber = _debugTextView.getLineCount() - MAX_LINE; if (excessLineNumber > 0) { int eolIndex = -1; CharSequence charSequence = _debugTextView.getText(); for(int i=0; i

事情是, TextView.getLineCount()返回包装的行数,而不是文本中的“\ n”的数量…这就是为什么我清除整个文本,如果我到达文本的结尾,而寻求行删除。

您可以通过删除多个字符而不是删除多行来做到这一点。

此解决scheme跟踪列表中的日志行,并在每次更改时用该列表的内容覆盖textview。

private List errorLog = new ArrayList(); private static final int MAX_ERROR_LINES = 70; private TextView logTextView; public void addToLog(String str) { if (str.length() > 0) { errorLog.add( str) ; } // remove the first line if log is too large if (errorLog.size() >= MAX_ERROR_LINES) { errorLog.remove(0); } updateLog(); } private void updateLog() { String log = ""; for (String str : errorLog) { log += str + "\n"; } logTextView.setText(log); }

TextView显示通过setText()方法设置的内容。 所以这听起来像你应该减less你提供的input。

要清空TextView,你可以做setText("");

下面是一个例子,它将行添加到由设置的最大行限制的输出日志中。 每添加一行,滚动视图都会自动滚动到底部。 这个例子纯粹使用TextView的内容,所以它不需要单独的数据收集。

将以下内容添加到您的活动xml中:

在你的活动中添加下面的代码:

private static final int MAX_OUTPUT_LINES = 50; private static final boolean AUTO_SCROLL_BOTTOM = true; private TextView _textViewOutput; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); _textViewOutput = (TextView) findViewById(R.id.textViewOutput); } //call to add line(s) to TextView //This should work if either lineText contains multiple //linefeeds or none at all private void addLinesToTextView(String lineText) { _textViewOutput.append(lineText); removeLinesFromTextView(); if(AUTO_SCROLL_BOTTOM) _scrollView.post(new Runnable() { @Override public void run() { _scrollView.fullScroll(ScrollView.FOCUS_DOWN); } }); } // remove leading lines from beginning of the output view private void removeLinesFromTextView() { int linesToRemove = _textViewOutput.getLineCount() - MAX_OUTPUT_LINES; if (linesToRemove > 0) { for (int i = 0; i < linesToRemove; i++) { Editable text = _textViewOutput.getEditableText(); int lineStart = _textViewOutput.getLayout().getLineStart(0); int lineEnd = _textViewOutput.getLayout().getLineEnd(0); text.delete(lineStart, lineEnd); } } }

我想你使用TextView.append(string)然后它会添加到旧文本。

如果您使用setText进行设置,则会replace旧文本

这是一个旧的,但我发现寻找解决我自己的问题。

我能够使用nameoflayout.removeAllViews();从LinearLayout删除所有的TextView nameoflayout.removeAllViews();

还有一种方法可以让你使用整数从布局的指定位置删除视图,它是: nameoflayout.removeViews(start, count); 所以我相信你可以创build一个超时的textviews保持可见多久。

不,android API不提供从textview中自动删除最早的行到API级别25的任何function。您需要在逻辑上做到这一点。

尝试编写一个函数,使TextView上的旧string,并添加新的string,然后得到子string的TextView能够最后的string。 并将其设置为TextView 。 像这样的东西:

String str = textview.getText(); str += newstring; int ln = str.length(); ln = ln-250; if (ln<0) ln=0; str = str.substring(ln); textview.setText(str);

android textview清除,如何删除TextView的旧行相关推荐

  1. Android 原生控件之一 TextView

    Android 原生控件之一 TextView 前言 来源 开始 XML属性 1.android:allowUndo 2.android:autoLink 3.android:autoSizeMaxT ...

  2. android textview表情,Android开发(16)-TextView显示表情图像和文字

    从这个案例中我们可以学到当我们美化图片美化界面的时候可以在某一区域输入图片和文字混搭信息,第三张图片按比例缩小,第四张图像有超链接 布局文件 MainActivity.java package com ...

  3. Android尺子布局和自定义TextView

    Android尺子布局和自定义TextView 下面是具体实现: 新建项目:在UI中 <LinearLayout xmlns:android="http://schemas.andro ...

  4. android 评论布局,Android评论布局,针对TextView换行和与其他空间对齐的实现

    最近开发遇到一个下面这种布局结构,关系到Textview的换行,并且第二行与前端图片对齐,后段追加时间的样式. image.png 我们都知道在Android中所有的控件都是矩形的,所以想通过单个Te ...

  5. android实现跑马灯效果,TextView实现跑马灯效果 就这么简单!

    一.方法 这里我们用两种方法来实现跑马灯效果,虽然实质上是一种 实质就是: 1.TextView调出跑马灯效果 2.TextView获取焦点 第一种: 1.TextView调出跑马灯效果 androi ...

  6. android音频声调,Android自定义带拼音音调Textview

    本文实例为大家分享了Android自定义带拼音音调Textview的具体代码,供大家参考,具体内容如下 1.拼音textview,简单的为把拼音数组和汉字数组结合在一起多行显示 import andr ...

  7. Android学习笔记10:TextView的使用

    TextView不仅可以用于显示丰富的文本信息,还可以用来显示图文并茂的混排页面. 1.TextView常用属性 TextView的常用属性有以下一些: setText();              ...

  8. Android中设置显示文本,Android文本显示控件-TextView属性详解

    android:autoLink //设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web /email/phone/map/all) andr ...

  9. android:ellipsize = marquee 跑马灯,TextView设置android:ellipsize=marquee不滚动

    今天发现android开发中有一个android:ellipsize=marquee,这个感觉像html中的marquee功能,可以实现滚动效果,于是测试了一下,结果不行呀,后来百度了一下解决办法,下 ...

最新文章

  1. 抽象类的基本概念------abstract
  2. Java多线程(十)之ReentrantReadWriteLock深入分析
  3. 20190421-那些年使用过的CSS预处理器(CSS Preprocessor)之Sass and Less
  4. This is probably not a problem with npm. There is likely additional logging
  5. centos ping不通内网 网关 外网 域名等以解决 通过设置为动态IP(启用dhcp协议)
  6. Python计算从n个元素中任选i个的组合数C(n,i)
  7. 【产品工具使用】黑群晖史上最强安装教程
  8. 2021年安全员-A证报名考试及安全员-A证考试报名
  9. curl做IP代理刷百度广告的计费问题
  10. 对比MIUI7和Flyme4.5 期待神秘的Flyme5
  11. matlab应用测试,moocMATLAB程序与应用单元测试答案
  12. 单招考计算机一般考什么科目,单招考试考什么内容 单招都考什么科目
  13. Kafka Broker 基本架构二
  14. SQL Server中的全文搜索
  15. Linux下文件名乱码的解决方法
  16. windows-server2019修改远程端口3389
  17. 58同城用户行为数仓建设及实践
  18. oracle 编辑器 辅助,lua脚本编辑器下载执行oracle ddl
  19. 冯仑、戴科彬点赞的神州数字国际银行是什么来路?
  20. 双非末流一本大四在校生第一次线下面试总结(嵌入式软件实习生方向)

热门文章

  1. Spring之BeanPostProcessor(后置处理器)介绍
  2. 【GDOI2018模拟9.16】幽雅的绽放吧,墨染之樱
  3. debounce和throttle
  4. 浅析TypeScript 4.9 satisfies操作符使用方法
  5. 数值分析公式大赏(上)
  6. electron 的混合桌面之路 入门安装
  7. 树莓派新手通过NOOBS一键安装系统
  8. php做转发,php如何实现URL转发代码
  9. LLMs之Guanaco:《QLoRA:Efficient Finetuning of Quantized LLMs》翻译与解读
  10. DBSCAN与层次聚类分析