美文网首页
使用gridView来制作列表

使用gridView来制作列表

作者: 晨曦诗雨 | 来源:发表于2018-12-19 15:37 被阅读0次

    实现的需求就是:

    在页面显示图标和文字,类似于这样的页面


    image.png

    第一步页面的布局

    <GridView
            android:layout_marginTop="10dp"
            android:id="@+id/gridView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:numColumns="3"
            android:horizontalSpacing="10dp"
            android:verticalSpacing="10dp"></GridView>
    

    *注意graidView 的三个属性的意思
    android:numColumns=""是指每一行显示几列
    android:horizontalSpacing="" 俩列之间的间距
    android:verticalSpacing="" 俩行之间的间距

    第二步java代码的实现功能

    要想实现这样的功能我们要有三个步骤

    • 1.数据源
      这是我设置的固定的数据源
    private  int[] icon={
                R.drawable.ic_admin,
                R.drawable.ic_arrow,
                R.drawable.ic_camera_enhance_black_24dp,
                R.drawable.ic_cardid,
                R.drawable.ic_key,
                R.drawable.ic_login_pwd,
                R.drawable.ic_close,
                R.drawable.ic_vercode,
                R.drawable.ic_reporttip};
        private  String[] iconName={"1","2","3","4","5","6","7","8","9"};
    
    • 2.适配器
      再这里我们使用的适配器是SimpleAdapter
    • 3加载适配器的视图
    • 4.监听事件
     dataList=new ArrayList<Map<String,Object>>();
    //适配器
            adapter=new SimpleAdapter(this,getData(),R.layout.item,new String[]{"image","text"},new int[]{R.id.image,R.id.text});
          //放到视图上
           gridView.setAdapter(adapter);
            gridView.setOnItemClickListener(this);
    

    设置的数据源和事件监听

      private List<Map<String,Object>> getData() {
            for (int i=0;i<icon.length;i++){
                Map<String,Object> map=new HashMap<String,Object>();
                map.put("image",icon[i]);
                map.put("text",iconName[i]);
                dataList.add(map);
            }
            return dataList;
        }
    
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(this,"我是"+iconName[position],Toast.LENGTH_SHORT).show();
        }
    

    相关文章

      网友评论

          本文标题:使用gridView来制作列表

          本文链接:https://www.haomeiwen.com/subject/gzndkqtx.html