Как добавить android.support.v4.app.ListFragment в активность?

Я имею MainActivity с макетом:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
    <FrameLayout
        android:id="@+id/fragment2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1">
    </FrameLayout>
</LinearLayout>

в MainActivity.onCreate() метод, который я пытаюсь добавить ListFragment:

MyFragment themesFragment = new MyFragment();
        FragmentTransaction ft = getFragmentManager().beginTransaction();
        ft.add(R.id.fragment2, themesFragment);
        ft.commit();

Но тогда я получаю следующую ошибку:

Error:(19, 11) error: no suitable method found for add(int,MyFragment)
method FragmentTransaction.add(Fragment,String) is not applicable
(argument mismatch; int cannot be converted to Fragment)
method FragmentTransaction.add(int,Fragment) is not applicable
(argument mismatch; MyFragment cannot be converted to Fragment)

Если я использую android.app.ListFragment добавление успешно, но у меня проблема с CursorLoader,

Как лучше всего загрузить данные из базы данных во фрагмент при добавлении и удалении из действия, нажав кнопку?

1 ответ

Решение

Если вы используете android.support.v4.ListFragment, вы должны использовать getSupportFragmentManager() вместо getFragmentManager()

Ваша активность должна расширяться FragmentActivity

Другие вопросы по тегам