Drag and drop ImageView from one list to another list in android
===

Actually i am developing an application in which i have to drag images (ImageView) from one list to another. Is there any suggestion for doing this? 
I am using ImageViewHolder to hold imageviews and textviews in the custom ImageViewAdapter class.


Below is the code:

    Integer img_data[] = {
    new Integer(R.drawable.b1), new Integer(R.drawable.b2),
    new Integer(R.drawable.b3), new Integer(R.drawable.b4),
    new Integer(R.drawable.b5)};

    ImageViewAdapter adapter = new ImageViewAdapter(this, 
    R.layout.listview_item_row, img_data);

    ClipData.Item item = new ClipData.Item(img_data[position].toString());
			
    String[] clipDescription = {ClipDescription.MIMETYPE_TEXT_PLAIN};

ClassCastException occurs on the below line of code, as it can not cast ImageViewHolder    to CharSequence. 
    ClipData dragData = new ClipData((CharSequence)v.getTag(), clipDescription, item);

    DragShadowBuilder myShadow = new MyDragShadowBuilder(v);
    v.startDrag(dragData,	//ClipData
    myShadow,		//View.DragShadowBuilder 
    img_data[position],		//Object myLocalState
    0);	



//ImageViewAdapter 

    
    public class ImageViewAdapter extends ArrayAdapter<Integer>{

    Context context; 
    int layoutResourceId;    
    Integerdata[] = null;
    
    public ImageViewAdapter(Context context, int layoutResourceId, Integer[] data) {
    super(context, layoutResourceId, data);
    this.layoutResourceId = layoutResourceId;
    this.context = context;
    this.data = data;
    }

     
    public View getView(int position, View convertView, ViewGroup parent) {
    View row = convertView;
    ImageViewHolder holder = null;
        
    if(row == null)
    {
    LayoutInflater inflater = ((Activity)context).getLayoutInflater();
    row = inflater.inflate(layoutResourceId, parent, false);
            
    holder = new ImageViewHolder();
    holder.imgIcon = (ImageView)row.findViewById(R.id.imgIcon);
            
    row.setTag(holder);
    }
    else
    {
    holder = (ImageViewHolder)row.getTag();
    }
        
        
    holder.imgIcon.setImageResource(data[position].intValue());
         
    return row;
    }
    
    static class ImageViewHolder
    {
    ImageView imgIcon;
    TextView txtTitle;
    }
    }
