zoukankan      html  css  js  c++  java
  • 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]);
    }
    });
    /***************************************************************************/
    }














  • 相关阅读:
    C# 动态创建SQL数据库(一)
    在Winform中菜单动态添加“最近使用文件”
    转(C# 类似右键菜单弹出窗体)
    为什么不能用Abort退出线程
    C# GDI绘制波形图
    转(C# 实现生产者消费者队列)
    为字段设置初始值
    闲话资源管理
    正确使用 new 修饰符
    减少装箱与拆箱
  • 原文地址:https://www.cnblogs.com/yhc04161120/p/4816609.html
Copyright © 2011-2022 走看看