zoukankan      html  css  js  c++  java
  • 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上,就可以正常显示换行了。

  • 相关阅读:
    BZOJ_2460_[BeiJing2011]元素_线性基
    BZOJ_4448_[Scoi2015]情报传递_主席树
    BZOJ_4004_[JLOI2015]装备购买_线性基
    BZOJ_3110_[Zjoi2013]K大数查询_整体二分+树状数组
    BZOJ_4128_Matrix_矩阵乘法+哈希+BSGS
    BZOJ_4378_[POI2015]Logistyka_树状数组
    BZOJ_2527_[Poi2011]Meteors_整体二分
    BZOJ_2738_矩阵乘法_整体二分
    BZOJ_3687_简单题_bitset
    HDU 4501
  • 原文地址:https://www.cnblogs.com/tc310/p/9460379.html
Copyright © 2011-2022 走看看