0

私は2x5のグリッドを持っています。グリッドの各要素には画像が含まれています。画像を長押しすると、ギャラリーに移動します。ギャラリーで画像を選択して、このグリッドアイテムに割り当てることができます。これを行う方法?

4

1 に答える 1

0

グリッドビューを使用して、ビューページャーと組み合わせることができると思います。これを行う方法の例を次に示します。

    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;
    }       
}
于 2012-05-29T06:43:20.223 に答える