美文网首页
使用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