it-swarm.com.ru

Невозможно вызвать getSupportFragmentManager () из действия

У меня есть деятельность, которая имеет фрагмент.

XML:

 <fragment Android:name="com.example.androidcalculator.ResultFragment"
            Android:id="@+id/result_fragment"
            Android:layout_weight="1"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content" />

И я хочу вызвать метод из ResultFragment из метода в Activity, но getSupportFragmentManager "не существует":

FragmentManager fragMan = getSupportFragmentManager();

Как я могу решить это?

77
Taru

Ваша активность не распространяется FragmentActivity из библиотеки поддержки, поэтому метод отсутствует в суперклассе

Если вы нацелены на API 11 или выше, вы можете использовать Activity.getFragmentManager .

182
Robert Estivill

расширить класс до AppCompatActivity вместо Activity

52
El Pr0grammer

получить текущую активность от родителя, а затем использовать этот код

getActivity().getSupportFragmentManager()
17
user4790312

импортировать

import Android.support.v4.app.FragmentActivity;
import Android.support.v4.app.FragmentManager;
5
sansalk

Просто используйте

 FragmentManager fm = getActivity().getSupportFragmentManager();

Помните всегда, когда обращаетесь к фрагменту, надувающему в MainLayout, используйте Casting или getActivity().

3
Nitesh Rathod

продлить FragementAvtivity вместо Activity

2
dileep krishnan

Это сработало для меня. Запуск Android API 19 и выше.

FragmentManager fragMan = getFragmentManager();
2
Nic Parmee
getCurrentActivity().getFragmentManager()
1
Cesar Alonso