显然,在ListView中使用时,TextView元素上似乎存在文本长度限制。我不得不承认我没有检查过我面临的实际限制,但我很清楚,2k字符并不重要,其中4k字符根本没有显示。 并且“未显示”甚至不正确,因为屏幕似乎可以在TextView的整个长度上滚动(尽管我看到的只是空白)。
我的问题:我正在显示电子邮件的ListView。邮件的所有部分都是单独的TextView元素,这些元素会被放入ListView中。 当一条冗长的消息(大约2k字符以上)被放入TextView时,TextView仍然是空的,但确实占用了空间。
我的问题:有哪些替代方案/选项可以解决这个问题? 例如,使整个消息可显示(甚至很长)。
感谢任何人提前寻求帮助。
答案 0 :(得分:1)
你有什么理由要使用ListView吗?看起来你最好在ScrollView中使用LinearLayout或RelativeLayout,或者如果你想将其他TextView保留在屏幕上,可以将电子邮件的正文放在ScrollView中。
如果你想坚持使用ListView,你可以考虑使用String #substring(int beginIndex,int endIndex)来椭圆化主体,并在列表视图的onListItemClick处理程序中启动的另一个Activity中显示完整的主体。您可以在XML布局中使用android:ellipsize属性(或Java代码中的TextView#setEllipsize)将文本限制为单行,但这可能不是您想要的。
答案 1 :(得分:0)
您可以将singleLine属性设置为true,以便只能在listview中显示单行中可见的文本,或者另外将maxline属性设置为1
答案 2 :(得分:0)
您是否尝试在xml中为TextView元素设置android:maxLength
属性
或
设置过滤器new InputFilter.LengthFilter(maxlength)
?
答案 3 :(得分:0)
我找到了这个怪癖的原因!
这是Android中存在的BUG< 2.2!
在dziobas指出他在2.2上填充了10k字符串后,我在一个新的模拟器图像上尝试了这个。
我仍然要改变我的代码到最后不使用ListView并像Brian建议的那样重新实现我自己的ListView类