From 68a5d1cdaf49b884ea8cfc48d24296a39623bc9a Mon Sep 17 00:00:00 2001 From: cimugbit Date: Thu, 26 Apr 2018 17:59:32 +0000 Subject: [PATCH 1/2] Prevent margin click from affecting parent node --- .../main/java/com/unnamed/b/atv/model/TreeNode.java | 11 ++++++++++- .../java/com/unnamed/b/atv/view/AndroidTreeView.java | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/library/src/main/java/com/unnamed/b/atv/model/TreeNode.java b/library/src/main/java/com/unnamed/b/atv/model/TreeNode.java index dbf33f8..7ad4874 100644 --- a/library/src/main/java/com/unnamed/b/atv/model/TreeNode.java +++ b/library/src/main/java/com/unnamed/b/atv/model/TreeNode.java @@ -222,6 +222,7 @@ public interface TreeNodeLongClickListener { public static abstract class BaseNodeViewHolder { protected AndroidTreeView tView; protected TreeNode mNode; + private View nodeView; private View mView; protected int containerStyle; protected Context context; @@ -234,7 +235,7 @@ public View getView() { if (mView != null) { return mView; } - final View nodeView = getNodeView(); + nodeView = getNodeView(); final TreeNodeWrapperView nodeWrapperView = new TreeNodeWrapperView(nodeView.getContext(), getContainerStyle()); nodeWrapperView.insertNodeView(nodeView); mView = nodeWrapperView; @@ -242,6 +243,14 @@ public View getView() { return mView; } + public void setOnClickListener(View.OnClickListener listener) { + nodeView.setOnClickListener(listener); + } + + public void setOnLongClickListener(View.OnLongClickListener listener) { + nodeView.setOnLongClickListener(listener); + } + public void setTreeViev(AndroidTreeView treeViev) { this.tView = treeViev; } diff --git a/library/src/main/java/com/unnamed/b/atv/view/AndroidTreeView.java b/library/src/main/java/com/unnamed/b/atv/view/AndroidTreeView.java index 222a43a..c6611e6 100644 --- a/library/src/main/java/com/unnamed/b/atv/view/AndroidTreeView.java +++ b/library/src/main/java/com/unnamed/b/atv/view/AndroidTreeView.java @@ -261,7 +261,7 @@ private void addNode(ViewGroup container, final TreeNode n) { viewHolder.toggleSelectionMode(mSelectionModeEnabled); } - nodeView.setOnClickListener(new View.OnClickListener() { + viewHolder.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (n.getClickListener() != null) { @@ -275,7 +275,7 @@ public void onClick(View v) { } }); - nodeView.setOnLongClickListener(new View.OnLongClickListener() { + viewHolder.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View view) { if (n.getLongClickListener() != null) { From ac5b9a7ae7e191d961ed5c507d442452f6e1a9ab Mon Sep 17 00:00:00 2001 From: cimugbit Date: Thu, 26 Apr 2018 18:13:59 +0000 Subject: [PATCH 2/2] Corrected typo in method name --- library/src/main/java/com/unnamed/b/atv/model/TreeNode.java | 4 ++-- .../src/main/java/com/unnamed/b/atv/view/AndroidTreeView.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/library/src/main/java/com/unnamed/b/atv/model/TreeNode.java b/library/src/main/java/com/unnamed/b/atv/model/TreeNode.java index 7ad4874..190f18d 100644 --- a/library/src/main/java/com/unnamed/b/atv/model/TreeNode.java +++ b/library/src/main/java/com/unnamed/b/atv/model/TreeNode.java @@ -251,8 +251,8 @@ public void setOnLongClickListener(View.OnLongClickListener listener) { nodeView.setOnLongClickListener(listener); } - public void setTreeViev(AndroidTreeView treeViev) { - this.tView = treeViev; + public void setTreeView(AndroidTreeView treeView) { + this.tView = treeView; } public AndroidTreeView getTreeView() { diff --git a/library/src/main/java/com/unnamed/b/atv/view/AndroidTreeView.java b/library/src/main/java/com/unnamed/b/atv/view/AndroidTreeView.java index c6611e6..e14bbb0 100644 --- a/library/src/main/java/com/unnamed/b/atv/view/AndroidTreeView.java +++ b/library/src/main/java/com/unnamed/b/atv/view/AndroidTreeView.java @@ -408,7 +408,7 @@ private TreeNode.BaseNodeViewHolder getViewHolderForNode(TreeNode node) { viewHolder.setContainerStyle(containerStyle); } if (viewHolder.getTreeView() == null) { - viewHolder.setTreeViev(this); + viewHolder.setTreeView(this); } return viewHolder; }