使用gridView来制作列表

实现的需求就是:

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


image.png

第一步页面的布局


*注意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>();
//适配器
        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> getData() {
        for (int i=0;i map=new HashMap();
            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来制作列表)