Ошибка у вас наверняка состоит в том, что падает NullPointerException на обращении к dbHelper, который на момент обращения к нему не инициализирован, так как инициализируется он в
onCreate()
, который не вызовется, так как вы, почему-то, создаете новый instance класса MainActivity.
Первое. Никогда не создавайте Activity, да и другие компоненты Андроид-приложения через конструкторы. Для создания компонентов есть механизм
интентов.
Второе. В адаптере есть прекрасный метод
notifyDataSetChanged()
, который оповещает AdapterView, работающий с этим адаптером, о том, что данные обновились и неплохо бы перерисовать себя. Выкиньте
MainActivity ma = new MainActivity();
ma.updateTodo(); // Ошибка
и напишите там
notifyDataSetChanged();
P.S. У вас небольшая каша в голове. Советую почитать что-нибудь на тему Андроид-приложений. Начать можно с сайта
Александра Климова или с книги "Программирование под Android. Для профессионалов" от Брайна Харди и Билла Филлипса (пусть название вас не смущает, там все подробно расписывается). Если есть английский на уровне чтения технической литературы (а он должен быть, вы как-никак программист), советую читать Харди-Филлипса в оригинале, и периодически заглядывать в
официальную документацию, разделы "API Guides" и "Training".