我有一个有片段的活动。
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" />
我想从Activity中的方法调用ResultFragment中的方法,但是getSupportFragmentManager“不存在”:
FragmentManager fragMan = getSupportFragmentManager();
我该如何解决这个问题?
答案 0 :(得分:181)
您的活动不会从支持库扩展FragmentActivity,因此超类中不存在该方法
如果您的目标是api 11或更高版本,则可以使用Activity.getFragmentManager代替。
答案 1 :(得分:50)
将课程扩展为AppCompatActivity
而不是Activity
答案 2 :(得分:17)
从父级获取当前活动,然后使用此代码
2
答案 3 :(得分:5)
导入
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
答案 4 :(得分:3)
简单使用
FragmentManager fm = getActivity().getSupportFragmentManager();
在MainLayout使用中访问片段膨胀时请记住
施放或getActivity()
。
答案 5 :(得分:2)
扩展FragementAvtivity而不是Activity
答案 6 :(得分:2)
这对我有用。运行Android API 19及更高版本。
FragmentManager fragMan = getFragmentManager();
答案 7 :(得分:1)
getCurrentActivity().getFragmentManager()
答案 8 :(得分:0)
代替
extends Fragment
使用
extends android.support.v4.app.Fragment
这对我有用。 * API14及以上版本
答案 9 :(得分:-1)
我使用了FragmentActivity TabAdapter = new TabPagerAdapter(((FragmentActivity)getActivity())。getSupportFragmentManager());