Использование LoaderManager / CursorLoader не решит вашу проблему с заполнением SimpleCursorAdapter. Но вам, безусловно, следует использовать его, чтобы заполнить свой список из потока пользовательского интерфейса и эффективно обрабатывать изменения конфигурации ваших действий.
Вот как сопоставить имена столбцов Cursor с TextViews для каждой строки:
SimpleCursorAdapter adapter = new SimpleCursorAdapter(getActivity(),
R.layout.custom_row,
null,
new String[] { "columnName_1", "columnName_2", "columnName_3" },
new int[] { R.id.txtCol1, R.id.txtCol2, R.id.txtCol3 }, 0);
setListAdapter(adapter);
Это сопоставит 3 столбца в вашем курсоре с 3 TextViews в вашем файле макета
Так что ваш res / layout / custom_row.xml может выглядеть так:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView android:id="@+id/txtCol1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your column 1 text will end up here!" />
<TextView android:id="@+id/txtCol2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your column 2 text will end up here!" />
<TextView android:id="@+id/txtCol3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your column 3 text will end up here!" />
</LinearLayout>
В реальном мире вы можете найти лучшие результаты с помощью TableLayout.
Для CursorLoader взгляните на http://developer.android.com/guide/components/loaders.html
Они представляют собой отличный пример использования CursorLoader и LoaderManager для CursorAdapters, что вам и нужно сделать.
Надеюсь, это поможет!