android 换行符(\n) 在TextView中显示不正常的问题
2016-08-23 16:54
309 查看
出自:http://blog.sina.com.cn/s/blog_5de73d0b0100vb5n.html
问题描述
在Android开发,使用TextView设置换行的时候,会有这种情况:
1、如果直接在XML文件中写入"aaaaa\nbbbb"可以换行,显示为:
aaaaa
bbbbb
2、在Java文件中用textViewObj.setText("aaaa\nbbbb")也可以换行,显示为:
aaaaa
bbbbb
3、将“aaaaa\nbbbb”封装到一个类People里面的Description字段后,
在Java代码中使用textView.setText(people.getDescription())。显示为:
aaaaa\nbbbb
上面第3点就是问题所在,不能正常换行。
问题分析:
很简单,在程序运行的时候显示为“aaaa\nbbbb”,那么必须对TextView设置了“aaaa\\nbbbb”,
这里多了一个“\”, 对象所携带的字符串的转义已经被消除了,
至于为什么会被消除, 去问Google的CEO去吧.
通过以下的方法传递一个对象之后, 如果这个对象包含了字符串成员变量, 那么, 这个字符串所包含的转义字符将失效. 因为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上,就可以正常显示换行了。
问题描述
在Android开发,使用TextView设置换行的时候,会有这种情况:
1、如果直接在XML文件中写入"aaaaa\nbbbb"可以换行,显示为:
aaaaa
bbbbb
2、在Java文件中用textViewObj.setText("aaaa\nbbbb")也可以换行,显示为:
aaaaa
bbbbb
3、将“aaaaa\nbbbb”封装到一个类People里面的Description字段后,
在Java代码中使用textView.setText(people.getDescription())。显示为:
aaaaa\nbbbb
上面第3点就是问题所在,不能正常换行。
问题分析:
很简单,在程序运行的时候显示为“aaaa\nbbbb”,那么必须对TextView设置了“aaaa\\nbbbb”,
这里多了一个“\”, 对象所携带的字符串的转义已经被消除了,
至于为什么会被消除, 去问Google的CEO去吧.
通过以下的方法传递一个对象之后, 如果这个对象包含了字符串成员变量, 那么, 这个字符串所包含的转义字符将失效. 因为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上,就可以正常显示换行了。
相关文章推荐
- android 换行符(\n) 在TextView中显示不正常的问题(转)
- android 换行符(\n) 在TextView中显示不正常的问题
- android 换行符(\n) 在TextView中显示不正常的问题
- android 换行符(\n) 在TextView中显示不正常的问题
- android 换行符(\n) 在TextView中显示不正常的问题
- 【Android】换行符(\n)在TextView中显示不正常的问题
- TextView中换行符(\\n)显示不正常的问题
- [Android]浮层视频效果,在另外一个Window使用SurfaceView无法正常显示的问题排查与解决
- android中关于textview字数显示的问题
- android中textview显示汉字,字母,数字乱行行问题解决
- android中如果需要将字符在两行TextView中进行显示时字符过长问题?
- 解决android的textview正确显示单词音标问题
- android TextView 显示字数的限制问题
- Android开发技巧——TextView加载HTML的图片及代码显示问题
- android的TextView在设置ellipsize可能显示方框的问题
- android textview显示html问题
- android TextView setSingleLinexia显示问题
- [Android开发] 代码code设置9.png/9-patch 图片背景后,此view中的TextView等控件显示不正常(常见于listview中)
- android的textview显示音标问题解决方法
- [Android开发] 代码code设置9.png/9-patch 图片背景后,此view中的TextView等控件显示不正常(常见于listview中)