吾生也有涯,而知也无涯。这篇文章主要讲述android 换行符(
) 在TextView中显示不正常的问题相关的知识,希望能为你提供帮助。
问题描述在android开发,使用TextView设置换行的时候,会有这种情况:
1、如果直接在XML文件中写入"aaaaa
bbbb"可以换行,显示为:
aaaaa
bbbbb
2、在java文件中用textViewObj.setText("aaaa
bbbb")也可以换行,显示为:
aaaaa
bbbbb
3、将“aaaaa
bbbb”封装到一个类中的某个String类型的属性中时,在Java代码中使用textView.setText(该类的对象名.属性名)。显示为:
aaaaa
bbbb
上面第3点就是问题所在,不能正常换行。
问题分析:
很简单,在程序运行的时候显示为“aaaa
bbbb”,那么必须对TextView设置了“aaaa\nbbbb”,
这里多了一个“”, 对象所携带的字符串的转义已经被消除了,
通过以下的方法传递一个对象之后, 如果这个对象包含了字符串成员变量, 那么, 这个字符串所包含的转义字符将失效. 因为android已经在传递时做了手脚.
intent.putExtra(EXTRA_OBJECT,People);
【android 换行符() 在TextView中显示不正常的问题】
比如传递一个People对象, 它有一个详细描述这个People的成员变量Description,
而这个Description成员, 是包含了"
"转义字符的字符串,那么它在传递的时候,
它的转义字符"
"已经变成"\n"了,
所以, 我们要做的是,在对象传递完之后, 把它转换过来.
People people= (People) intent.getSerializableExtra(EXTRA_OBJECT);
String temp = people.getDescription().replace("\n", "
");
people.setDescription(temp);
这样一来, 再放到TextView上,就可以正常显示换行了。
推荐阅读
- Appium 的安装
- Vpay系统app制作开发
- Android_(游戏)打飞机06(后续)
- Android_(游戏)打飞机05(处理子弹,击中敌机,添加计分板)
- 安卓H5软键盘遮挡输入框
- POJ2486 Apple Tree 树上背包
- Android_(游戏)打飞机04(绘画敌机添加子弹)
- 调用android的getColor()方法出现 java.lang.NoSuchMethodError: android.content.res.Resources.getColor
- QWidget编写的安卓app