jakebonk / draggabletreeview Goto Github PK
View Code? Open in Web Editor NEWTreeView with drag and drop (n-th level)
License: MIT License
TreeView with drag and drop (n-th level)
License: MIT License
In my case, I copied your example but all TreeNodes are always expanded I try to call set Expanded(False), but it has no effect the TreeNodes doesn't collapse. I also tried to call setExpanded(false) recursive but at all it change nothing. How can i use setExpanded to collapse my TreeNodes?
hello sir, i need your help with this,
i have problem when i implement on fragment, but its fine when i implement in activity.
what should i fill on adapter first parameter ?
this is my code :
public class CategorySubFragment extends Fragment {
private FloatingActionButton fabAddCategory;
public static ArrayList arrayCategory;
private DraggableTreeView draggableTreeView;
public CategorySubFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_category_sub, container, false);
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
fabAddCategory = view.findViewById(R.id.fab_add_category);
draggableTreeView = (DraggableTreeView)view.findViewById(R.id.d_tree_view);
TreeNode root = new TreeNode(this);
TreeNode item = new TreeNode("Item 1");
TreeNode item2 = new TreeNode("Item 2");
TreeNode subitem = new TreeNode("Sub Item 2");
subitem.addChild(new TreeNode("Sub Sub Item 1"));
item.addChild(subitem);
item.addChild(new TreeNode("Sub Item 1"));
root.addChild(new TreeNode("Item 3"));
root.addChild(new TreeNode("Item 4"));
root.addChild(new TreeNode("Item 5"));
root.addChild(new TreeNode("Item 6"));
root.addChild(new TreeNode("Item 7"));
root.addChild(new TreeNode("Item 8"));
root.addChild(new TreeNode("Item 9"));
root.addChild(new TreeNode("Item 10"));
root.addChild(new TreeNode("Item 11"));
root.addChild(new TreeNode("Item 12"));
root.addChild(item2);
root.addChild(item);
SimpleTreeViewAdapter adapter = new SimpleTreeViewAdapter(getActivity().getApplicationContext(), root);
draggableTreeView.setAdapter(adapter);
arrayCategory = new ArrayList<>();
((AppCompatActivity) getActivity()).getSupportActionBar().setTitle(getResources().getString(R.string.category));
fabAddCategory.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//startActivityForResult(new Intent(getContext(), AddCategoryActivity.class), REQ_CODE_ADD_CAT);
startActivityForResult(new Intent(getContext(), AddCategory.class), REQ_CODE_ADD_CAT);
}
});
}
and this is my error :
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.LinearLayout.addView(android.view.View)' on a null object reference
at com.allyants.draggabletreeview.DraggableTreeView.createTreeItem(DraggableTreeView.java:445)
at com.allyants.draggabletreeview.DraggableTreeView.inflateViews(DraggableTreeView.java:111)
at com.allyants.draggabletreeview.DraggableTreeView.inflateViews(DraggableTreeView.java:117)
at com.allyants.draggabletreeview.DraggableTreeView.notifyDataSetChanged(DraggableTreeView.java:105)
at com.allyants.draggabletreeview.DraggableTreeView.setAdapter(DraggableTreeView.java:98)
at com.batavianet.aipos.ui.main.item.category.CategorySubFragment.onViewCreated(CategorySubFragment.java:76)
this error showed on :
draggableTreeView.setAdapter(adapter);
thankyou, love your works
Hi, is it possible just to use drag and drop to reorder items? I mean is it possible to turn off the sub level item insertion?
I'm using MvvmCross for my android application. Is it possible to populate draggable tree view with data from viewmodel??
I am getting this NullPointerException error
2020-05-14 12:42:28.778 12251-12251/com.app.hardik.studypdf E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.app.hardik.studypdf, PID: 12251
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.LinearLayout.addView(android.view.View)' on a null object reference
at com.allyants.draggabletreeview.DraggableTreeView.createTreeItem(DraggableTreeView.java:369)
at com.allyants.draggabletreeview.DraggableTreeView.inflateViews(DraggableTreeView.java:83)
at com.allyants.draggabletreeview.DraggableTreeView.inflateViews(DraggableTreeView.java:89)
at com.allyants.draggabletreeview.DraggableTreeView.notifyDataSetChanged(DraggableTreeView.java:77)
at com.allyants.draggabletreeview.DraggableTreeView.setAdapter(DraggableTreeView.java:70)
at com.app.hardik.studypdf.ListFragment.onCreateView(ListFragment.kt:72)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2600)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:881)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:439)
at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2079)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)
at androidx.fragment.app.FragmentManagerImpl$2.run(FragmentManagerImpl.java:150)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.