android textview 不正常换行怎么解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android textview 不正常换行怎么解决相关的知识,希望对你有一定的参考价值。

参考技术A 可以手动在你需要换行的位置 插入“\n” 参考技术B 加上这三句试试
android:ellipsize="none"
android:maxLines="100"
android:scrollHorizontally="false"追问

能解释一下么

追答

android:ellipsize="none" 不进行任何操作
android:maxLines="" 最大行数

android:scrollHorizontally="" 水平滚动

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);

 

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

 

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

 

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

 

 

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













以上是关于android textview 不正常换行怎么解决的主要内容,如果未能解决你的问题,请参考以下文章

android textview 怎么换行?

android textview怎么处理换行

android LinearLayout 里面的东西怎么换行

你好,我现在重写了android的textview.但是文字不能自动换行,请问你之前是怎么解决的,谢谢.

安卓TextView内文字中间强制换行后,每行文字怎么右对齐?

android 中多个TextView放在一个LinearLayout中,请问如何将TextView中的文字自动换行?或者修改布局实现