首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android population列表视图

Android population列表视图
EN

Stack Overflow用户
提问于 2011-10-12 16:25:32
回答 1查看 328关注 0票数 0

关于在android中填充列表视图,我有一个非常基本的问题。现在,如果我想这样做,我会使用SimpleCursorAdapter,它工作得很好。但是由于我的编程变得越来越复杂,我想在数据显示之前操作数据(你知道,格式化Strings a.s.o.)。我面临的问题是,在从数据库请求到ListElements的过程中,并没有一个真正可以操作数据的点。因为我每个ListElement有四个TextViews,所以据我所知,ArrayAdapter是不可能的。由于我是Android的新手,我甚至不知道用谷歌搜索什么。

非常感谢你的帮助,丹尼尔

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-12 16:37:09

常见的方法是在适配器的getView中执行此操作。你可以这样做:

代码语言:javascript
复制
class ContactAdapter extends ArrayAdapter<String> {

        private LayoutInflater mInflater;

        public ContactAdapter(Context context, int textViewResourceId, List<String> items) {
            super(context, textViewResourceId, items);
            mInflater = LayoutInflater.from(context);
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {

            ViewHolder holder;
            if (convertView == null) {

                convertView = mInflater.inflate(R.layout.rowcontact, null);
                holder = new ViewHolder();
                holder.lastname = (TextView) convertView.findViewById(R.id.rowTop);
                holder.firstname = (TextView) convertView.findViewById(R.id.rowBottom);
                holder.iconContact = (ImageView) convertView.findViewById(R.id.iconContact);
                convertView.setTag(holder);
            } else {

                holder = (ViewHolder) convertView.getTag();
            }
            String item = getItem(position);
            int i = (int) (Math.random() * 5 + 1);

            switch (i) {
            ...
            }
            if (item != null) {
                holder.lastname.setText(item.split("-")[0]);
                holder.firstname.setText(item.split("-")[1]);
                holder.iconContact.setImageBitmap(bm);
            }
            return convertView;
        }
    }

    static class ViewHolder {
        TextView lastname;
        TextView firstname;
        ImageView iconContact;
    }
}

你可以找到完整的代码示例there。使用holder示例,您可以设置4个视图并更新它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7737182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档