@woligmeattak na szybko:
Po pierwszym skompilowaniu aplikacja wywala błąd na linii:
parenta[0].addChildren(child);
Jeżeli zakomentujeto idzie, potem można to odkomentować i skompilować ponownie i nie rzuca błędem. W tym miejscu powinieneś zrobić warunek lub coś innego wykonać. Też nie działa dodawanie dzieci do rodzica zadań.
Gdy dodaje rekord pojawia mi się na chwilę ekran czarny - lepiej zrobić jakieś kółeczko kręcące się gdy dodaje do bazy.
Klasa User do poprawy - powinny być pola prywatne + gettery i settery. W moim przykładzie tak jest jak Ty masz, ale napisałem, że nie powinno tak się tego robić. Skróciłem to na potrzeby przykładu.
Cursor dodaj do try/catch itd. zobacz mój przykład. Uzupełniłem o to.
Zobacz to:
https://github.com/bmelnychuk/AndroidTreeView
Myślę, że to jest bardziej funkcjonalne niż to co zrobiłeś i spełnia chyba Twoje oczekiwania.
Zrób tak jak w przykładzie z bazą, kasują ją za każdym razem gdy jest odpalana appka, wtedy będziesz miał pewność, że na początku nic Ci sie nie posypie. A potem tą funkcje usuń.