当我尝试编译我的项目时出现错误:“FragmentTransaction 类型中的方法 add(int, Fragment) 不适用于参数 (int, FragmentPreferences)”。据我所知,PreferenceFragment 是一个片段?我正在为 android 4.0 开发,但我必须使用 android-support-v4 库,因为我的项目还包括 ViewPager。我在http://developer.android.com/guide/topics/ui/settings.html#Fragment找到了这个例子:
// Display the fragment as the main content.
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();
但我无法让它工作。
我的代码:
case R.id.menu_settings:
FragmentPreferences prefs = new FragmentPreferences();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(android.R.id.content, prefs);
ft.commit();
break;
片段偏好:
public class FragmentPreferences extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}