【发布时间】:2014-11-13 20:00:18
【问题描述】:
我有一个 ListView,其中每一行都是一个 TextView,并显示一行文本。我遇到了一个问题,有时会出现不需要的空行。一旦列表滚动经过该特定区域,空行就会消失。
在调试器中暂停应用程序后,我使用以下代码验证了我的列表行包含正确的信息。输出中没有任何内容显示为空或 null 等。
for (int i = 0; i<list.getChildCount(); i++) {
System.out.print((TextView) list.getChildAt(i)).getText());
}
这显示了我预期的信息。
我还检查了支持我的适配器的数据是否有空条目、新行等。
我在Adapter里面的getView()方法如下:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView t;
if (convertView == null) {
convertView = mInflator.inflate(R.layout.single_message_row, null);
t = (TextView) convertView;
t.setMovementMethod(LinkMovementMethod.getInstance());
t.setTextSize(mMsgSize);
}
else {
t = (TextView) convertView;
}
CharSequence text = get(position);
t.setText(text);
return t;
}
下面是展示问题的图片(红色区域):
【问题讨论】:
-
你确定那里没有任何换行符吗?如 texttext\n\n\n\n\n .. 这会导致您的问题.. 您的适配器看起来不错
-
你为什么不直接打电话给
text.toString().trim()? -
dymmeh:是的,我确定。消息来自服务器,我明确避免将 \n 添加到末尾,因为没有必要。 Waqas:因为这样做会删除文本颜色
标签: android listview empty-list