summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2013-01-25 23:26:47 +0100
committerdaniel oeh <daniel.oeh@gmail.com>2013-01-25 23:26:47 +0100
commit96aa72c0ab5869d3ade69974616b3f1d4c49ae72 (patch)
tree125d4a5a2839f561febe204ea9433da5ea5404e7 /src
parentbf14dced03452e25b8031b336900ba33760850dc (diff)
downloadAntennaPod-96aa72c0ab5869d3ade69974616b3f1d4c49ae72.zip
Added OnClickListener for header view
Diffstat (limited to 'src')
-rw-r--r--src/de/danoeh/antennapod/adapter/OnItemlistHeaderClicked.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/de/danoeh/antennapod/adapter/OnItemlistHeaderClicked.java b/src/de/danoeh/antennapod/adapter/OnItemlistHeaderClicked.java
new file mode 100644
index 000000000..14bb06051
--- /dev/null
+++ b/src/de/danoeh/antennapod/adapter/OnItemlistHeaderClicked.java
@@ -0,0 +1,55 @@
+package de.danoeh.antennapod.adapter;
+
+import de.danoeh.antennapod.R;
+import android.content.res.TypedArray;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.ImageView;
+
+/**
+ * OnClickListener for the itemlist headers of feeditem lists. This class takes
+ * care of changing the appearance of the arrow on the left side of the header
+ * view. An instance of this class should be set as the OnClickListener of the
+ * header view.
+ */
+public class OnItemlistHeaderClicked implements OnClickListener {
+ private ImageView arrow;
+ private View header;
+
+ private boolean isExpanded;
+
+ /**
+ * Constructor
+ *
+ * @param header
+ * Reference to the header View of the itemlist.
+ * @param isExpanded
+ * true if the itemlist is currently expanded.
+ * */
+ public OnItemlistHeaderClicked(View header, boolean isExpanded) {
+ if (header == null)
+ throw new IllegalArgumentException("Header view must not be null");
+ this.header = header;
+ arrow = (ImageView) header.findViewById(R.id.imgvHeaderArrow);
+ this.isExpanded = isExpanded;
+ refreshArrowState();
+ }
+
+ private void refreshArrowState() {
+ TypedArray typeDrawables = header.getContext().obtainStyledAttributes(
+ new int[] { R.attr.navigation_collapse,
+ R.attr.navigation_expand });
+ if (isExpanded) {
+ arrow.setImageDrawable(typeDrawables.getDrawable(0));
+ } else {
+ arrow.setImageDrawable(typeDrawables.getDrawable(1));
+ }
+ }
+
+ @Override
+ public void onClick(View v) {
+ isExpanded = !isExpanded;
+ refreshArrowState();
+ }
+
+}