当前位置: 首页 > news >正文

android 换行符(\n) 在TextView中显示不正常的问题

问题描述

在Android开发,使用TextView设置换行的时候,会有这种情况:

1、如果直接在XML文件中写入"aaaaa\nbbbb"可以换行,显示为:

aaaaa
bbbbb

2、在Java文件中用textViewObj.setText("aaaa\nbbbb")也可以换行,显示为:

aaaaa
bbbbb

3、将“aaaaa\nbbbb”封装到一个类中的某个String类型的属性中时,在Java代码中使用textView.setText(该类的对象名.属性名)。显示为:

aaaaa\nbbbb


上面第3点就是问题所在,不能正常换行。

 

问题分析:

很简单,在程序运行的时候显示为“aaaa\nbbbb”,那么必须对TextView设置了“aaaa\\nbbbb”,
这里多了一个“\”, 对象所携带的字符串的转义已经被消除了,

 

通过以下的方法传递一个对象之后, 如果这个对象包含了字符串成员变量, 那么, 这个字符串所包含的转义字符将失效. 因为android已经在传递时做了手脚.

 

intent.putExtra(EXTRA_OBJECT,People);

 

比如传递一个People对象, 它有一个详细描述这个People的成员变量Description,
而这个Description成员, 是包含了"\n"转义字符的字符串,那么它在传递的时候,
它的转义字符"\n"已经变成"\\n"了,
所以, 我们要做的是,在对象传递完之后, 把它转换过来.

 

People people= (People) intent.getSerializableExtra(EXTRA_OBJECT);

 

String temp = people.getDescription().replace("\\n", "\n");
people.setDescription(temp);

 

 

这样一来, 再放到TextView上,就可以正常显示换行了。

转载于:https://www.cnblogs.com/tc310/p/9460379.html

相关文章:

  • App上线-Missing App Store Icon
  • Windows 环境Oracle客户端下载安装
  • datetime模块的简单用法
  • JVM 内存解析,以及自己的一些见解
  • 对CRC32的小结加上bugku一道题目:好多压缩包
  • Excel-DNA自定义函数的参数智能提示功能:ExcelDna.IntelliSense1.1.0.rar
  • D05——C语言基础学PYTHON
  • 常见HTTP状态码
  • 蓝牙学习(4) -- L2CAP
  • c#窗体项目:工艺注意事项
  • Linux 常用命令——文件处理命令
  • python 爬虫 5i5j房屋信息 获取并存储到数据库
  • HDU - 2255 奔小康赚大钱 KM算法 模板题
  • LDAP概念和原理
  • Leetcode 118 杨辉三角
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • ES6系列(二)变量的解构赋值
  • JS+CSS实现数字滚动
  • JS实现简单的MVC模式开发小游戏
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • nfs客户端进程变D,延伸linux的lock
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • python学习笔记-类对象的信息
  • spring boot下thymeleaf全局静态变量配置
  • vue学习系列(二)vue-cli
  • 关于使用markdown的方法(引自CSDN教程)
  • 模型微调
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 阿里云服务器购买完整流程
  • #pragma data_seg 共享数据区(转)
  • #pragma pack(1)
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • $.proxy和$.extend
  • (1)STL算法之遍历容器
  • (145)光线追踪距离场柔和阴影
  • (3)选择元素——(17)练习(Exercises)
  • (Ruby)Ubuntu12.04安装Rails环境
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (三)docker:Dockerfile构建容器运行jar包
  • (学习日记)2024.02.29:UCOSIII第二节
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (转)fock函数详解
  • (转)原始图像数据和PDF中的图像数据
  • .NET MVC之AOP
  • .net中我喜欢的两种验证码
  • /etc/shadow字段详解
  • ??javascript里的变量问题
  • [Angular 基础] - 表单:响应式表单
  • [AutoSar]BSW_OS 02 Autosar OS_STACK
  • [BZOJ2208][Jsoi2010]连通数
  • [c++] 自写 MyString 类
  • [Electron] 将应用打包成供Ubuntu、Debian平台下安装的deb包