Mercurial > dwindows
changeset 2782:dff8fb5ddadd
Android: Added layout manager and code to trigger data change updates.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Thu, 07 Jul 2022 07:59:23 +0000 |
parents | c28602443759 |
children | 1b7c1b6ee760 |
files | android/DWindows.kt |
diffstat | 1 files changed, 14 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/android/DWindows.kt Thu Jul 07 00:47:25 2022 +0000 +++ b/android/DWindows.kt Thu Jul 07 07:59:23 2022 +0000 @@ -52,6 +52,7 @@ import androidx.core.app.NotificationManagerCompat import androidx.core.content.res.ResourcesCompat import androidx.core.view.MenuCompat +import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.viewpager2.widget.ViewPager2 import com.google.android.material.tabs.TabLayout @@ -476,6 +477,7 @@ override fun onCreateViewHolder(parent: ViewGroup, layoutId: Int): DWTreeViewHolder { val view = DWTreeItemView(parent.context) + parent.addView(view) return treeViewHolderFactory.getTreeViewHolder(view, layoutId) } @@ -4583,6 +4585,7 @@ tree!!.tag = dataArrayMap tree!!.id = cid tree!!.adapter = treeViewAdapter + tree!!.layoutManager = LinearLayoutManager(this) } } return tree @@ -4601,6 +4604,7 @@ } else { parent.addChild(treeitem!!) } + treeViewAdapter.notifyDataSetChanged() } return treeitem } @@ -4628,11 +4632,19 @@ fun treeItemChange(tree: DWTree, item: DWTreeItem, title: String?, icon: Drawable?) { waitOnUiThread { + var changed = false + if(title != null) { item.setTitle(title) + changed = true } if(icon != null) { item.setIcon(icon) + changed = true + } + if(changed == true) { + var treeViewAdapter = tree.adapter as DWTreeViewAdapter + treeViewAdapter.notifyDataSetChanged() } } } @@ -4671,6 +4683,7 @@ } else { treeViewAdapter.collapseNode(item) } + treeViewAdapter.notifyDataSetChanged() } } @@ -4684,6 +4697,7 @@ waitOnUiThread { val treeViewAdapter = tree.adapter as DWTreeViewAdapter treeViewAdapter.clear() + treeViewAdapter.notifyDataSetChanged() } }