如何在GridView中选择多个图像?

时间:2014-02-28 11:36:23

标签: android gridview android-gridview android-gridlayout

这是网格视图主页面...... 在GridView上设置自定义适配器... 所有的东西都正常工作,但我想选择多个图像......

gridview=(GridView)findViewById(R.id.gridview_robot_ghost);
    gridview.setAdapter(new customGridAdapter(this, GHOST_NUMBER));

    gridview.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View v, int position,
                long id) {
            Toast.makeText(getApplicationContext(), "Your Verification is Succeesfull "+ "\n Selected Ghost Position is "+position, Toast.LENGTH_LONG).show();

        }

    });

自定义网格适配器:

customGridAdapter extends BaseAdapter{
    private Context context;

    private final String[] grid_values;

    public customGridAdapter(Context context,String[] grid_values)
    {
        this.context=context;
        this.grid_values=grid_values;
    }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return grid_values.length;
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getItemId(int position) {
    // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {


        LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View gridView;

        if(convertView==null)
        {
            gridView=new View(context);
            gridView=inflater.inflate(R.layout.grid_item, null);
            ImageView imageView = (ImageView)     gridView.findViewById(R.id.grid_item_image);
            String ghost=grid_values[position];

                if (ghost.equals("Ghost1")) {

                imageView.setImageResource(R.drawable.ghost4);

            } else if (ghost.equals("Ghost2")) {

                imageView.setImageResource(R.drawable.ghost4);

            } else if (ghost.equals("Ghost3")) {

                imageView.setImageResource(R.drawable.ghost3);

            } else {

                imageView.setImageResource(R.drawable.ghost4);
            }

        } else {
            gridView = (View) convertView;
        }

        return gridView;
    }

1 个答案:

答案 0 :(得分:3)

OnItemClickListener上将视图背景更改为所选项目&amp;将所选项目添加到某个列表中......

如果已选择项目,则单击特定项目将背景更改为正常&amp;从列表中删除