# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1657223368 0 # Node ID 1b7c1b6ee7602c0f981a29e76fbbb1b95b76d76c # Parent dff8fb5ddaddf2d30cd032069043aaa42d98ca00 Android: Fix tree basic functionality... need to add child branches, implement callback functions and find better choices for the expand and collapse icons from the system resources. diff -r dff8fb5ddadd -r 1b7c1b6ee760 android/DWindows.kt --- a/android/DWindows.kt Thu Jul 07 07:59:23 2022 +0000 +++ b/android/DWindows.kt Thu Jul 07 19:49:28 2022 +0000 @@ -391,11 +391,11 @@ val padding: Int = node.getLevel() * nodePadding val treeItemView = itemView as DWTreeItemView - itemView.setPadding( + treeItemView.setPadding( padding, - itemView.paddingTop, - itemView.paddingRight, - itemView.paddingBottom + treeItemView.paddingTop, + treeItemView.paddingRight, + treeItemView.paddingBottom ) treeItemView.textView.text = node.getTitle() treeItemView.iconView.setImageDrawable(node.getIcon()) @@ -477,7 +477,6 @@ override fun onCreateViewHolder(parent: ViewGroup, layoutId: Int): DWTreeViewHolder { val view = DWTreeItemView(parent.context) - parent.addView(view) return treeViewHolderFactory.getTreeViewHolder(view, layoutId) } @@ -518,8 +517,7 @@ } override fun getItemViewType(position: Int): Int { - // TODO: Fix this with no layoutId - return 0 + return 1 } override fun getItemCount(): Int { @@ -595,6 +593,7 @@ // Clear all the items from the tree fun clear() { treeItemManager.clearItems() + notifyDataSetChanged() } // Register a callback to be invoked when this DWTreeItem is clicked @@ -623,6 +622,7 @@ val treeViewAdapter = this.adapter as DWTreeViewAdapter treeViewAdapter.updateTreeItems(roots) + treeViewAdapter.notifyDataSetChanged() } } @@ -4604,7 +4604,7 @@ } else { parent.addChild(treeitem!!) } - treeViewAdapter.notifyDataSetChanged() + tree.updateTree() } return treeitem } @@ -4683,7 +4683,6 @@ } else { treeViewAdapter.collapseNode(item) } - treeViewAdapter.notifyDataSetChanged() } } @@ -4697,7 +4696,6 @@ waitOnUiThread { val treeViewAdapter = tree.adapter as DWTreeViewAdapter treeViewAdapter.clear() - treeViewAdapter.notifyDataSetChanged() } }