性能问题 - ListView,TextView在每个子项中都有跨区输入

时间:2011-04-18 16:36:09

标签: android listview android-listview

目前我在每个孩子中都有一个带有TextView的ListView。 TextView正在使用跨区字符串来填充它。我正在使用ViewHolder模式,我没有解析getView()中的Spanned字符串。当我从Spanned字符串切换回纯字符串时,ListView的滚动性能显着提高。我想继续使用Spanned,因为它会在运行中正确地格式化我的文本。

他们是否可以在保持TextViews跨越的字符串输入的同时提高ListView的性能?

@Override
public View getView(final int position, View convertView, final ViewGroup parent) {
    final ViewHolder holder;

    if (convertView == null) {
        convertView = inflater.inflate(R.layout.comment, null);

        holder = new ViewHolder();
        holder.userName = (TextView) convertView.findViewById(R.id.comment_user_name);
        holder.date = (TextView) convertView.findViewById(R.id.comment_created_date);
        holder.body = (TextView) convertView.findViewById(R.id.comment_body);

        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }

    User user = array.get(position).getCreatedBy();
    holder.userName.setText(user.getName());
    holder.date.setText(array.get(position).getDateCreated());
    holder.body.setText(array.get(position).getBody());

    return convertView;
}

1 个答案:

答案 0 :(得分:1)