我的自定义 ConfigActivity
扩展了PreferenceActivity(来自android.preference.PreferenceActivity
)。此活动的布局包含<ListView android:id="@android:id/list"...
。在这个布局中,我需要以编程方式添加/替换我创建的扩展android.support.v4.app.Fragment
的其他几个片段。
然而,Eclipse说:
The method getSupportFragmentManager() is undefined for the type ConfigActivity
。
我尝试将其替换为getFragmentManager()
,但以下调用:
ft.add(R.id.fHeader, new MyCustomFragment());
导致以下错误:
The method add(int, Fragment) in the type FragmentTransaction is not applicable for the arguments (int, MyCustomFragment)
我唯一的选择是不使用扩展支持库的Fragment类在ConfigActivity中的自定义片段吗?
答案 0 :(得分:2)
如果您使用的是android.support.v4.app.Fragment,我认为您需要使您的活动扩展FragmentActivity或FragmentActivity的某些子类以使用Fragments。 其他选项可以是将最小sdk版本设置为12,并在不使用支持库的情况下检查代码。
答案 1 :(得分:0)
通常Activity
没有FragmentManager
。如果您想在Fragment
中使用Activity
,则应使用支持库中的FragmentActivity
。
因为android是开源的,所以您可以使用PreferenceActivity
中的代码,然后创建MyPreferenceActivity extends FragmentActivity
。希望它会有所帮助:))