From 592a420723df87b6cb8b33bca811de4da72f3571 Mon Sep 17 00:00:00 2001 From: Kanade Date: Mon, 23 Oct 2017 22:36:22 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81setNodes=E4=B8=8D=E5=86=8D=E5=BC=BA?= =?UTF-8?q?=E5=88=B6=E5=88=B7=E6=96=B0=E5=88=97=E8=A1=A8(=E5=BD=93?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=9C=89=E5=A4=A7=E9=87=8Fnode=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=8F=AF=E8=83=BD=E4=BC=9A=E5=BE=88=E8=80=97=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E6=AD=A4=E6=97=B6=E5=85=81=E8=AE=B8=E5=9C=A8=E5=85=B6?= =?UTF-8?q?=E4=BB=96=E7=BA=BF=E7=A8=8B=E8=BF=9B=E8=A1=8C)=202=E3=80=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A5=E5=8F=A3=E8=BF=94=E5=9B=9E=E7=9A=84?= =?UTF-8?q?node=20id=E6=96=B9=E6=B3=95=E5=90=8D=EF=BC=8C=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E4=B8=8Egreendao=E7=9A=84=E5=AE=9E=E4=BD=93=E7=B1=BB=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E5=90=8D=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 ++++-- .../main/java/com/kanade/treeview/MainActivity.java | 12 ++++++------ app/src/main/java/com/kanade/treeview/User.java | 2 +- treeadapter/build.gradle | 2 +- .../src/main/java/com/kanade/treeadapter/RvTree.java | 2 +- .../java/com/kanade/treeadapter/TreeAdapter.java | 1 - .../main/java/com/kanade/treeadapter/TreeHelper.java | 2 +- 7 files changed, 14 insertions(+), 13 deletions(-) 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());