本帖最后由 yutao52shi 于 2011-09-08 17:47:10 编辑

解决方案 »

  1.   

    public void onItemClick(AdapterView<?> parent
                            , View view, int position, long id)
                        {
                            //传递选中的头像
                            System.out.println("点击的:"+position % imageIds.length);
                            builder.dismiss();
                        }
    就是在这个方法里面,我想执行关闭该builder的操作……但是没有找到提供的方法。 builder.dismiss();是有问题的。。
      

  2.   

    额。。自己解决了……要分的来吧……public void onClick(View v) {
    // TODO Auto-generated method stub
    final Dialog dialog;
    builder.setTitle("添加表情");
    LinearLayout faceimage = (LinearLayout)getLayoutInflater()
    .inflate( R.layout.faceimage, null);
    builder.setView(faceimage);
    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]);
    listItems.add(listItem);
    }
    //创建一个SimpleAdapter
    SimpleAdapter simpleAdapter = new SimpleAdapter(ChatActivity.this
    , listItems
    //使用/layout/cell.xml文件作为界面布局
    , R.layout.facecell
    , new String[]{"image"}
    , new int[]{R.id.image1});
    GridView grid = (GridView)faceimage.findViewById(R.id.grid01);
    //为GridView设置Adapter
    grid.setAdapter(simpleAdapter);
    //添加列表项被选中的监听器 dialog = builder.show();
    grid.setOnItemClickListener(new OnItemClickListener()
    {
    @Override
    public void onItemClick(AdapterView<?> parent
    , View view, int position, long id)
    {
    //传递选中的头像
    System.out.println("点击的:"+position % imageIds.length);
    dialog.dismiss();
    }
    });
    dialog.show();
    }
     });
      

  3.   

    Dialog的用法:
    http://blog.csdn.net/gumanren/article/details/6238520