Skip to content
This repository was archived by the owner on Apr 14, 2020. It is now read-only.

Commit 356e34d

Browse files
author
LeeReindeer
committed
[Fix] Fix IllegalStateException in sample app.
“The content of the adapter has changed but ListView did not receive a notification”
1 parent 84a44bf commit 356e34d

2 files changed

Lines changed: 4 additions & 3 deletions

File tree

app/src/main/java/xyz/leezoom/tree2/activity/MainActivity.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,13 @@ class MainActivity : AppCompatActivity() {
106106
@Suppress("UNCHECKED_CAST")
107107
private fun initView() {
108108
initRoot()
109+
tree_view.requestLayout()
109110
adapter = FileTreeAdapter(this@MainActivity, root, R.layout.layout_file_tree_item)
110111
tree_view.treeAdapter = adapter
111112
tree_view.onItemClickListener = AdapterView.OnItemClickListener { parent, view, position, id ->
112113
run {
113114
Log.d(TAG, "Clicked pos: $position")
114-
var nodes = adapter!!.nodesList
115+
val nodes = adapter!!.nodesList
115116
//for (i in 0 until nodes.size) Log.i(TAG, "index: $i,node:" + (nodes[i].element as FileItem).name)
116117
//the click item
117118
val node: DefaultTreeNode<FileItem> = nodes[position] as DefaultTreeNode<FileItem>
@@ -146,7 +147,8 @@ class MainActivity : AppCompatActivity() {
146147
Log.d(TAG,"TreeView children: ${tree_view.childCount}")
147148
//update view
148149
adapter!!.nodesList = TreeUtils.getVisibleNodesD(root)
149-
tree_view.refresh(null)
150+
//tree_view.refresh(null)
151+
adapter!!.notifyDataSetChanged()
150152
//start animation
151153
val offset = parent.firstVisiblePosition
152154
Log.d(TAG, "anim offset: $offset")

treeview/src/main/java/xyz/leezoom/view/treeview/TreeView.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ public class TreeView extends ListView {
6363

6464
private StringBuilder sb = new StringBuilder();
6565

66-
// TODO: 12/14/17 use HashMap?
6766
private ArrayList<DefaultTreeNode> searchList = new ArrayList<>();
6867
//record the node's expanded status
6968
private HashMap<DefaultTreeNode, Boolean> expandedState;

0 commit comments

Comments
 (0)