• GirdView代码分析


     // 创建一个List对象,List对象的元素是Map

    List<Map<String, Object>> listItems =
    new ArrayList<Map<String, Object>>();

    for (int i = 0; i < imageIds.length; i++)
    {
    Map<String, Object> listItem = new HashMap<String, Object>();
    listItem.put("image", imageIds[i]);//为list对象设置图片
    listItems.add(listItem);//添加进组件
    }

    // 获取显示图片的ImageView
    imageView = (ImageView) findViewById(R.id.imageView);
    // 创建一个SimpleAdapter
    SimpleAdapter simpleAdapter = new SimpleAdapter(this,
    listItems
    // 使用/layout/cell.xml文件作为界面布局
    , R.layout.cell, new String[] { "image" },
    new int[] { R.id.image1 });
    grid = (GridView) findViewById(R.id.grid01);
    // 为GridView设置Adapter
    grid.setAdapter(simpleAdapter);

    /***************以下两个事件监听器看似一样将第二个删去后显示失败,将第一个删去后正常显示。****
    选中监听器失效。。小编以为,本程序为点击事件监听,没有选中的关系。。。。。

    ***************/
    // 添加列表项被选中的监听器
    grid.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
    {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view,
    int position, long id)
    {
    // 显示当前被选中的图片
    imageView.setImageResource(imageIds[position]);
    }
    @Override
    public void onNothingSelected(AdapterView<?> parent)
    {
    }
    });
    // 添加列表项被单击的监听器
    grid.setOnItemClickListener(new AdapterView.OnItemClickListener()
    {
    @Override
    public void onItemClick(AdapterView<?> parent, View view,
    int position, long id)
    {
    // 显示被单击的图片
    imageView.setImageResource(imageIds[position]);
    }
    });
    /***************************************************************************/
    }














  • 相关阅读:
    最长公共子序列
    学习MySQL常用操作命令
    using的几种用法
    C++循环的简单使用【闲来写来练练手~】
    使用【数据库收缩功能】实现多个数据文件的合并
    Google的十个核心技术(摘自CSDN)
    OPENGL入门学习
    dive into python 第 5 章 对象和面向对象
    [转]已知两圆圆心坐标及半径求两圆交点 (C语言|参数方程求解)
    The Python Tutorial 4. More Control Flow Tools的一些小记
  • 原文地址:https://www.cnblogs.com/yhc04161120/p/4816609.html
Copyright © 2020-2023  润新知