package com.roboo.like.netease;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import junit.framework.Test;
import android.R.integer;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import com.roboo.like.netease.view.DragGridView;
import com.roboo.like.netease.view.DragGridView.OnChanageListener;
public class DragGridViewActivity extends BaseActivity
{
DragGridView gridView;
SimpleAdapter simpleAdapter;
LinkedList<HashMap<String, Object>> data;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
test();
setTVTitle(R.string.tv_drag_gridview);
gridView = new DragGridView(this);
gridView.setColumnWidth(GridView.STRETCH_COLUMN_WIDTH);
gridView.setNumColumns(3);
setContentView(gridView);
gridView.setAdapter(getAdapter());
gridView.setOnChangeListener(new OnChanageListener()
{
public void onChange(int from, int to)
{
HashMap<String, Object> temp = data.get(from);
// 这里的处理需要注意下
if (from < to)
{
for (int i = from; i < to; i++)
{
Collections.swap(data, i, i + 1);
}
}
else if (from > to)
{
for (int i = from; i > to; i--)
{
Collections.swap(data, i, i - 1);
}
}
data.set(to, temp);
simpleAdapter.notifyDataSetChanged();
}
});
}
private void test()
{
WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
}
private SimpleAdapter getAdapter()
{
data = new LinkedList<HashMap<String, Object>>();
for (int i = 0; i < 40; i++)
{
HashMap<String, Object> itemMap = new HashMap<String, Object>();
itemMap.put("item_image", R.drawable.ic_launcher);
itemMap.put("item_text", "第 " + (1 + i) + " 个");
data.add(itemMap);
}
simpleAdapter = new SimpleAdapter(this, data, R.layout.share_gridview_item, new String[] { "item_image", "item_text" }, new int[] { R.id.iv_image, R.id.tv_text });
return simpleAdapter;
}
}