5

我有我的自定义ConfigActivity扩展 PreferenceActivity(来自android.preference.PreferenceActivity)。此活动的布局包含一个<ListView android:id="@android:id/list".... 在这个布局中,我需要以编程方式添加/替换我创建的其他几个 Fragment android.support.v4.app.Fragment

然而,Eclipse 说:

The method getSupportFragmentManager() is undefined for the type ConfigActivity.

我尝试将其替换为 just 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)

我唯一的选择是不使用在 ConfigActivity 中扩展支持库的片段类的自定义片段吗?

4

2 回答 2

2

如果您使用的是 android.support.v4.app.Fragment,我认为您需要使您的活动扩展 FragmentActivity 或 FragmentActivity 的某个子类以使用 Fragments。其他选项可以是将您的最低 sdk 版本设置为 12 并在不使用支持库的情况下检查您的代码。

于 2013-10-21T12:32:10.017 回答
0

平时Activity没有FragmentManager。如果你想Fragment在你的中使用Activity,你应该使用FragmentActivity支持库中的哪个。
因为android是开源的,所以可以使用里面的代码PreferenceActivity,制作一个MyPreferenceActivity extends FragmentActivity. 希望它会有所帮助:)

于 2013-10-21T12:20:01.450 回答