资讯专栏INFORMATION COLUMN

GridView 使用详解

dayday_up / 1427人阅读

摘要:简介继承关系如下主要使用方法主要通过使用自定义来适配数据,进而显示到中。如果不是太明白,可以查看上篇文章使用详解至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢

极力推荐文章:欢迎收藏
Android 干货分享

阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android

本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:

GridView 主要用法

GridView 使用案例

GridViewListView 很类似,Listview 主要以列表形式显示数据,GridView 则是以网格形式显示数据,掌握ListView 使用方法后,会很轻松的掌握GridView的使用方法。

GridView 简介 继承关系如下
java.lang.Object
   ↳    android.view.View
        ↳    android.view.ViewGroup
             ↳    android.widget.AdapterView
                  ↳    android.widget.AbsListView
                       ↳    android.widget.GridView
1. GridView 主要使用方法

GridView 主要通过使用自定义BaseAdapter 来适配数据,进而显示到GridView中。主要使用方法如下:

1. 准备数据源
        list = new ArrayList>();
2. 为数据源设置适配器
        MyAdapter adapter = new MyAdapter();
3. 将适配过后点数据显示在GridView 上
        gridView.setAdapter(adapter);
2. GridView 使用Demo

实现效果如下

实现代码如下

    private GridView gridView;
    private List> list;
    private int images[] = { R.drawable.gril, R.drawable.ic_launcher,
            R.drawable.gril, R.drawable.ic_launcher, R.drawable.gril,
            R.drawable.ic_launcher, R.drawable.gril, R.drawable.ic_launcher,
            R.drawable.gril };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_grid_view_method);
        gridView = (GridView) findViewById(R.id.gv);

        // 1. 准备数据源
        list = new ArrayList>();
        for (int i = 0; i < images.length; i++) {
            Map map = new HashMap();
            map.put("image", images[i]);
            map.put("text", "图片" + i);
            list.add(map);

        }

        // 2.为数据源设置适配器
        MyAdapter adapter = new MyAdapter();
        // 3.将适配过后点数据显示在GridView 上
        gridView.setAdapter(adapter);
        // item点击事件处理
        gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView parent, View view,
                    int position, long id) {
                //

                Toast.makeText(GridViewMethod.this,
                        list.get(position).get("text").toString(),
                        Toast.LENGTH_SHORT).show();
            }
        });
    }

    class MyAdapter extends BaseAdapter {

        @Override
        public int getCount() {
            return list.size();
        }

        @Override
        public Object getItem(int position) {
            return list.get(position);
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder holder = null;
            if (convertView == null) {
                // 第一次加载创建View,其余复用 View
                convertView = LayoutInflater.from(GridViewMethod.this).inflate(
                        R.layout.gridview_item_img_tv, null);
                holder = new ViewHolder();
                holder.imageView = (ImageView) convertView
                        .findViewById(R.id.grid_img);
                holder.textView = (TextView) convertView
                        .findViewById(R.id.grid_tv);
                // 打标签
                convertView.setTag(holder);

            } else {
                // 从标签中获取数据
                holder = (ViewHolder) convertView.getTag();
            }

            // 根据key值设置不同数据内容
            holder.imageView.setImageResource((Integer) list.get(position).get(
                    "image"));
            holder.textView.setText((String) list.get(position).get("text"));

            return convertView;
        }
    }

    class ViewHolder {
        ImageView imageView;
        TextView textView;

    }

GridView 布局如下





    

item  布局 如下




    

    

至此GridView 的基本使用方法结束。
如果不是太明白,可以查看上篇文章
ListView 使用详解

至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75850.html

相关文章

  • [yii2小心肝儿]GridView - 大衣篇

    摘要:最终版编号生成时间用户名性别省市搞定,在运行程序,表头改成编号用户名生成时间等,不要英文这个问题搞定了。是代表对进行什么样的格式化,默认来对其处理。分钟后,我郁闷的回来了,知道这回客户提了那些乱七八糟的需求么且听下回分解睡衣篇 增删改查,数据库操作的四大法宝中最常用的就是查了,一条记录、几条记录、一大堆记录。对于yii2而言,尤其后台,GridView是最常用且好用的数据列表部件,今天...

    skinner 评论0 收藏0

发表评论

0条评论

dayday_up

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<