Android 以编程方式将图像从库添加到网格项

Android 以编程方式将图像从库添加到网格项,android,gridview,gallery,Android,Gridview,Gallery,我有一个2x5的网格。网格中的每个元素都包含一个图像。当我长按图像时,我应该被带到gallery,在那里我可以选择一张图片并将其分配给这个网格项目。如何做到这一点?我认为您可以使用网格视图,并将其与视图寻呼机相结合。下面是一个如何做到这一点的示例 public class GridGallery extends BaseAdapter { Context context; public GridGallery(Context context) { th

我有一个2x5的网格。网格中的每个元素都包含一个图像。当我长按图像时,我应该被带到gallery,在那里我可以选择一张图片并将其分配给这个网格项目。如何做到这一点?

我认为您可以使用网格视图,并将其与视图寻呼机相结合。下面是一个如何做到这一点的示例

    public class GridGallery extends BaseAdapter {

    Context context;

    public GridGallery(Context context) {
        this.context = context;
    }

    @Override
    public int getCount() {
        return numberOfImages;
    }

    @Override
    public Object getItem(int position) {
        return position;
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

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


        final ImageView view;

        if(convertView == null) {

            view = new ImageView(context);

            view.setScaleType(ImageView.ScaleType.FIT_CENTER);
            view.setLayoutParams(new GridView.LayoutParams(screenWidth/4, screenHeight/4));
            view.setAdjustViewBounds(false);
            view.setPadding(2, 2, 2, 2);

            view.setOnLongClickListener(new View.OnLongClickListener() {

                @Override
                public boolean onLongClick(View v) {
                    // You can set your View Pager adapter here
                    //
                    return false;
                }
            });

        if(view!=null) {
            // Here you can download your images from internet. 
            thumbnailLoader.DisplayImage(urlList.get(position), view);
            notifyDataSetChanged();  //Calling this helped to solve the problem.

            view.setTag(position);
        }

        return view;
    }       
}

这不是一个完整的解决方案,但它可以给你一个想法。如果你想从gallery(确切地说是android gallery)获取图像,你可以像我说的那样使用view pager,你可以从sd卡或android保存图像的内存中获取图像。