实现分类型的ListVeiw的步骤

来源:互联网 发布:网络娱乐注册送彩金 编辑:程序博客网 时间:2024/06/04 21:03
效果图:

实现分类型的ListVeiw的步骤

1.联网请求数据(百思抓包) public static final String ALLRESURL = "http://s.budejie.com/topic/list/jingxuan/1/budejie-android-6.2.8/0-20.json?market=baidu&udid=863425026599592&appname=baisibudejie&os=4.2.2&client=android&visiting=&mac=98%3A6c%3Af5%3A4b%3A72%3A6d&ver=6.2.8";

2.解析数据-难点

3.设置适配器

3.1,拆分有多少种类型-难点和亮点 分类型的ListView在适配器中要新增加了两个方法

         /**         * 视频         */        private static final int TYPE_VIDEO = 0;        /**         * 图片         */        private static final int TYPE_IMAGE = 1;        /**         * 文字         */        private static final int TYPE_TEXT = 2;        /**         * GIF图片         */        private static final int TYPE_GIF = 3;        /**         * 软件推广         */        private static final int TYPE_AD = 4;        //返回总类型数据            @Override            public int getViewTypeCount() {                return 5;            }            /**             * 当前item是什么类型             * @param position             * @return             */            @Override            public int getItemViewType(int position) {                int itemViewType = -1;                //根据位置,从列表中得到一个数据对象                AllDataBean.ListEntity listEntity = mediaItems.get(position);                String type = listEntity.getType();//得到类型                Log.e(TAG, "type===" + type);                if ("video".equals(type)) {                    itemViewType = TYPE_VIDEO;                } else if ("image".equals(type)) {                    itemViewType = TYPE_IMAGE;                } else if ("text".equals(type)) {                    itemViewType = TYPE_TEXT;                } else if ("gif".equals(type)) {                    itemViewType = TYPE_GIF;                } else {                    itemViewType = TYPE_AD;//广播                }                return itemViewType;            }     注意的是:类型要从0开始

3.2,写布局,把公共部分抽取

3.3,根据位置去得到数据

3.4,把数据根据不同的类型去请求并且显示到对应控件上

0 0
原创粉丝点击