gpt4 book ai didi

java - 无法使 PreferenceFragment 工作(编译错误)

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:54:31 26 4
gpt4 key购买 nike

enter image description here

当我尝试编译我的项目时出现错误:“FragmentTransaction 类型中的方法 add(int, Fragment) 不适用于参数 (int, FragmentPreferences)”。据我所知,PreferenceFragment 是一个 fragment ?我正在为 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;

fragment 首选项:

public class FragmentPreferences extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}

}

最佳答案

那是因为 PreferenceFragment 扩展了 android.app.Fragment,而不是 android.support.v4.app.Fragment >android.support.v4.app.FragmentTransaction 期待。

到目前为止,还没有将 PreferenceFragment 官方反向移植到支持库。但是,您可以使用诸如 UnifiedPreferences 之类的库填补这一空白。

关于java - 无法使 PreferenceFragment 工作(编译错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15078029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com