diff --git a/README.md b/README.md index 13f5b0f..a58e333 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ allprojects { } dependencies { - compile 'com.github.pye52:TreeView:0.2.2' + compile 'com.github.pye52:TreeView:0.2.3' } ``` @@ -86,8 +86,10 @@ Type type = new TypeToken>(){}.getType(); List list = new Gson().fromJson(testStr, type); // TreeAdapter adapter = new TreeAdapter<>(this, list); TreeAdapter adapter = new TreeAdapter<>(this); -// 若不在初始化时指定数据,则会等到执行setNodes时才会有数据 +// 若不在初始化时指定数据,则需要手动调用notifyDataSetChanged来刷新列表 adapter.setNodes(list); +adapter.notifyDataSetChanged(); + recyclerview.setAdapter(adapter); final List C1Childs = new ArrayList<>(); diff --git a/app/src/main/java/com/kanade/treeview/MainActivity.java b/app/src/main/java/com/kanade/treeview/MainActivity.java index cb656ff..d8f2712 100644 --- a/app/src/main/java/com/kanade/treeview/MainActivity.java +++ b/app/src/main/java/com/kanade/treeview/MainActivity.java @@ -82,21 +82,21 @@ protected void onCreate(Bundle savedInstanceState) { Type type = new TypeToken>(){}.getType(); list = new Gson().fromJson(testStr, type); - rv = (RecyclerView) findViewById(R.id.rv); + rv = findViewById(R.id.rv); rv.setLayoutManager(new LinearLayoutManager(this)); final TreeAdapter adapter = new TreeAdapter<>(this); - final List C1Childs = new ArrayList<>(); - C1Childs.add(new User(11, 3, "C11")); - C1Childs.add(new User(12, 3, "C12")); - C1Childs.add(new User(13, 3, "C13")); + final List childs = new ArrayList<>(); + childs.add(new User(11, 3, "C11")); + childs.add(new User(12, 3, "C12")); + childs.add(new User(13, 3, "C13")); adapter.setNodes(list); adapter.setListener(new TreeItemClickListener() { @Override public void OnClick(Node node) { if (node.getId() == 3) { - adapter.addChildrenById(3, C1Childs); + adapter.addChildrenById(3, childs); } Toast.makeText(MainActivity.this, node.getName(), Toast.LENGTH_SHORT).show(); } diff --git a/app/src/main/java/com/kanade/treeview/User.java b/app/src/main/java/com/kanade/treeview/User.java index 8eb116b..d7ec7b4 100644 --- a/app/src/main/java/com/kanade/treeview/User.java +++ b/app/src/main/java/com/kanade/treeview/User.java @@ -17,7 +17,7 @@ public User(long id, long pid, String title) { } @Override - public long getId() { + public long getNid() { return id; } diff --git a/treeadapter/build.gradle b/treeadapter/build.gradle index f201e53..f4d59c7 100644 --- a/treeadapter/build.gradle +++ b/treeadapter/build.gradle @@ -8,7 +8,7 @@ android { minSdkVersion 16 targetSdkVersion 26 versionCode 1 - versionName "0.2.2" + versionName "0.2.3" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" diff --git a/treeadapter/src/main/java/com/kanade/treeadapter/RvTree.java b/treeadapter/src/main/java/com/kanade/treeadapter/RvTree.java index b772632..6c4f3af 100644 --- a/treeadapter/src/main/java/com/kanade/treeadapter/RvTree.java +++ b/treeadapter/src/main/java/com/kanade/treeadapter/RvTree.java @@ -1,7 +1,7 @@ package com.kanade.treeadapter; public interface RvTree { - long getId(); + long getNid(); long getPid(); diff --git a/treeadapter/src/main/java/com/kanade/treeadapter/TreeAdapter.java b/treeadapter/src/main/java/com/kanade/treeadapter/TreeAdapter.java index 86b2571..071d213 100644 --- a/treeadapter/src/main/java/com/kanade/treeadapter/TreeAdapter.java +++ b/treeadapter/src/main/java/com/kanade/treeadapter/TreeAdapter.java @@ -64,7 +64,6 @@ public T getItemById(int id) { public void setNodes(List data) { List> allNodes = TreeHelper.getSortedNode(data, 0); mNodes = TreeHelper.filterVisibleNode(allNodes); - notifyDataSetChanged(); } /** diff --git a/treeadapter/src/main/java/com/kanade/treeadapter/TreeHelper.java b/treeadapter/src/main/java/com/kanade/treeadapter/TreeHelper.java index 6e85452..0c1f1f3 100644 --- a/treeadapter/src/main/java/com/kanade/treeadapter/TreeHelper.java +++ b/treeadapter/src/main/java/com/kanade/treeadapter/TreeHelper.java @@ -48,7 +48,7 @@ private static List> convertData2Node(List data) { List> list = new ArrayList<>(); for (T item : data) { Node node = new Node<>(); - node.setId(item.getId()); + node.setId(item.getNid()); node.setpId(item.getPid()); node.setName(item.getTitle()); node.setResId(item.getImageResId());