use*_*162 5 java android fragment android-preferences

我在尝试编译项目时遇到错误:"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();
Run Code Online (Sandbox Code Playgroud)
但我无法让它发挥作用.
我的代码:
case R.id.menu_settings:
FragmentPreferences prefs = new FragmentPreferences();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(android.R.id.content, prefs);
ft.commit();
break;
Run Code Online (Sandbox Code Playgroud)
FragmentPreferences:
public class FragmentPreferences extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
Run Code Online (Sandbox Code Playgroud)
ian*_*ake 16
这是因为PreferenceFragment延伸android.app.Fragment,而不是android.support.v4.app.Fragment该android.support.v4.app.FragmentTransaction期待.
截至目前,PreferenceFragment支持库没有正式的后向支持.但是,您可以使用UnifiedPreferences等库来填补这一空白.
| 归档时间: |
|
| 查看次数: |
7545 次 |
| 最近记录: |