|
|
@@ -5,22 +5,26 @@ import android.graphics.Bitmap;
|
|
|
import android.graphics.PixelFormat;
|
|
|
import android.util.AttributeSet;
|
|
|
import android.view.Gravity;
|
|
|
+import android.view.LayoutInflater;
|
|
|
import android.view.MotionEvent;
|
|
|
import android.view.View;
|
|
|
import android.view.ViewConfiguration;
|
|
|
import android.view.ViewGroup;
|
|
|
import android.view.WindowManager;
|
|
|
import android.widget.AdapterView;
|
|
|
+import android.widget.ArrayAdapter;
|
|
|
import android.widget.ImageView;
|
|
|
import android.widget.ListView;
|
|
|
+import android.widget.TextView;
|
|
|
|
|
|
|
|
|
import com.usai.ratradefiling.R;
|
|
|
-import com.usai.ratradefiling.home.FunctionPanelSettingActivity;
|
|
|
+//import com.usai.ratradefiling.home.FunctionPanelSettingActivity;
|
|
|
|
|
|
import org.json.JSONObject;
|
|
|
|
|
|
import java.lang.ref.WeakReference;
|
|
|
+import java.util.List;
|
|
|
|
|
|
import static android.content.Context.WINDOW_SERVICE;
|
|
|
|
|
|
@@ -49,13 +53,84 @@ public class DragListView extends ListView
|
|
|
this.setOnItemClickListener(mItemClickListenter);
|
|
|
}
|
|
|
|
|
|
+ public static class DragListAdapter extends ArrayAdapter<JSONObject>
|
|
|
+ {
|
|
|
+
|
|
|
+ // private Context mContext;
|
|
|
+
|
|
|
+ public DragListAdapter(Context context, List<JSONObject> objects)
|
|
|
+ {
|
|
|
+ super(context, 0, objects);
|
|
|
+ // this.mContext = context;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<JSONObject> getList()
|
|
|
+ {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean isEnabled(int position)
|
|
|
+ {
|
|
|
+ if (getItem(position).optInt("id") < 0) // _id<0 means a group key
|
|
|
+ return false;
|
|
|
+ // if (groupKey.contains(getItem(position).name))
|
|
|
+ // {
|
|
|
+ // // ����Ƿ����ǩ������false������ѡ�У����ܵ��
|
|
|
+ // return false;
|
|
|
+ // }
|
|
|
+ return super.isEnabled(position);
|
|
|
+ }
|
|
|
+
|
|
|
+ public int switchpos()
|
|
|
+ {
|
|
|
+
|
|
|
+ for (int i = 1; i < getCount(); i++)
|
|
|
+ {
|
|
|
+ if (getItem(i).optInt("id") < 0)
|
|
|
+ return i;
|
|
|
+ }
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public View getView(int position, View convertView, ViewGroup parent)
|
|
|
+ {
|
|
|
+
|
|
|
+ View view = convertView;
|
|
|
+ if (getItem(position).optInt("id") < 0) // _id<0 means a group key
|
|
|
+ {
|
|
|
+ view = LayoutInflater.from(getContext()).inflate(
|
|
|
+ R.layout.drag_list_item_tag, null);
|
|
|
+ }
|
|
|
+ // if (groupKey.contains(getItem(position).name))
|
|
|
+ // {
|
|
|
+ // // ����Ƿ����ǩ���ͼ��ط����ǩ�IJ����ļ������������ļ���ʾЧ��ͬ
|
|
|
+ // view = LayoutInflater.from(getContext()).inflate(
|
|
|
+ // R.layout.drag_list_item_tag, null);
|
|
|
+ // }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ // �������������ǩ���ͼ����������IJ����ļ�
|
|
|
+ view = LayoutInflater.from(getContext()).inflate(
|
|
|
+ R.layout.drag_list_item, null);
|
|
|
+ }
|
|
|
+
|
|
|
+ TextView textView = (TextView) view
|
|
|
+ .findViewById(R.id.drag_list_item_text);
|
|
|
+ textView.setText(getItem(position).optString("name"));
|
|
|
+
|
|
|
+ return view;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private int lastClickId = -1;
|
|
|
private long lastClickTime;
|
|
|
private OnItemClickListener mItemClickListenter = new OnItemClickListener()
|
|
|
{
|
|
|
public void onItemClick(AdapterView<?> parent, View v, int pos, long id)
|
|
|
{
|
|
|
- FunctionPanelSettingActivity.DragListAdapter adapter = (FunctionPanelSettingActivity.DragListAdapter) ((ListView) parent)
|
|
|
+ DragListAdapter adapter = (DragListAdapter) ((ListView) parent)
|
|
|
.getAdapter();
|
|
|
|
|
|
if (adapter.isEnabled(pos) == false)// return if item is a group key
|
|
|
@@ -277,7 +352,7 @@ public class DragListView extends ListView
|
|
|
if (dragPosition > 0 && dragPosition < getAdapter().getCount())
|
|
|
{
|
|
|
/* @SuppressWarnings("unchecked") */
|
|
|
- FunctionPanelSettingActivity.DragListAdapter adapter = (FunctionPanelSettingActivity.DragListAdapter) getAdapter();
|
|
|
+ DragListAdapter adapter = (DragListAdapter) getAdapter();
|
|
|
JSONObject dragItem = adapter.getItem(dragSrcPosition);
|
|
|
|
|
|
DragListViewDelegate delegate = getDelegate();
|