summaryrefslogtreecommitdiff
path: root/library/drag-sort-listview/src/main/java/com/mobeta/android/dslv/DragSortItemViewCheckable.java
diff options
context:
space:
mode:
Diffstat (limited to 'library/drag-sort-listview/src/main/java/com/mobeta/android/dslv/DragSortItemViewCheckable.java')
-rw-r--r--library/drag-sort-listview/src/main/java/com/mobeta/android/dslv/DragSortItemViewCheckable.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/library/drag-sort-listview/src/main/java/com/mobeta/android/dslv/DragSortItemViewCheckable.java b/library/drag-sort-listview/src/main/java/com/mobeta/android/dslv/DragSortItemViewCheckable.java
new file mode 100644
index 000000000..27d612e01
--- /dev/null
+++ b/library/drag-sort-listview/src/main/java/com/mobeta/android/dslv/DragSortItemViewCheckable.java
@@ -0,0 +1,55 @@
+package com.mobeta.android.dslv;
+
+import android.content.Context;
+import android.view.Gravity;
+import android.view.View;
+import android.view.View.MeasureSpec;
+import android.view.ViewGroup;
+import android.widget.AbsListView;
+import android.widget.Checkable;
+import android.util.Log;
+
+/**
+ * Lightweight ViewGroup that wraps list items obtained from user's
+ * ListAdapter. ItemView expects a single child that has a definite
+ * height (i.e. the child's layout height is not MATCH_PARENT).
+ * The width of
+ * ItemView will always match the width of its child (that is,
+ * the width MeasureSpec given to ItemView is passed directly
+ * to the child, and the ItemView measured width is set to the
+ * child's measured width). The height of ItemView can be anything;
+ * the
+ *
+ *
+ * The purpose of this class is to optimize slide
+ * shuffle animations.
+ */
+public class DragSortItemViewCheckable extends DragSortItemView implements Checkable {
+
+ public DragSortItemViewCheckable(Context context) {
+ super(context);
+ }
+
+ @Override
+ public boolean isChecked() {
+ View child = getChildAt(0);
+ if (child instanceof Checkable)
+ return ((Checkable) child).isChecked();
+ else
+ return false;
+ }
+
+ @Override
+ public void setChecked(boolean checked) {
+ View child = getChildAt(0);
+ if (child instanceof Checkable)
+ ((Checkable) child).setChecked(checked);
+ }
+
+ @Override
+ public void toggle() {
+ View child = getChildAt(0);
+ if (child instanceof Checkable)
+ ((Checkable) child).toggle();
+ }
+}