Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 错误:(25,94)错误:不兼容的类型:SettingsFragment无法转换为Fragment_Java_Android_Android Fragments_Fragmenttransaction - Fatal编程技术网

Java 错误:(25,94)错误:不兼容的类型:SettingsFragment无法转换为Fragment

Java 错误:(25,94)错误:不兼容的类型:SettingsFragment无法转换为Fragment,java,android,android-fragments,fragmenttransaction,Java,Android,Android Fragments,Fragmenttransaction,从这里开始的错误是settingsFragment,错误是error:(25,94)错误:不兼容的类型:settingsFragment无法转换为Fragment import android.os.Bundle; import android.preference.PreferenceFragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction

从这里开始的错误是settingsFragment,错误是error:(25,94)错误:不兼容的类型:settingsFragment无法转换为Fragment

import android.os.Bundle;
import android.preference.PreferenceFragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;

import static android.R.attr.fragment;

public class AppPreferences extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_note_detail);

        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

        SettingsFragment settingsFragment = new SettingsFragment();
       // fragmentTransaction.add(android.R.id.content, settingsFragment, "SETTING_FRAGMENT");
这是我的设置片段

FragmentTransaction setting_fragment = fragmentTransaction.add(android.R.id.content, settingsFragment, "SETTING_FRAGMENT");
setting_fragment.commit();
您应该使用(如果希望保持兼容性)support v7兼容性库中包含的
首选项FragmentCompat

PreferenceFragment
不包括在片段的兼容性集中,因此将
PreferenceFragment
更改为
PreferenceFragmentCompat
应该足以满足您的需要

退房

希望对您有所帮助

您应该使用(如果您想保持兼容性)support v7 compatibility library中包含的
首选项FragmentCompat

PreferenceFragment
不包括在片段的兼容性集中,因此将
PreferenceFragment
更改为
PreferenceFragmentCompat
应该足以满足您的需要

退房


希望对你有帮助嘿我找到了解决问题的办法

公共类AppPreferences扩展了AppCompatActivity{

public  static class SettingsFragment extends PreferenceFragment{

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);

        addPreferencesFromResource(R.xml.app_preferences);
    }
}
问题在于这里的代码和这个
getSupportFragment();
所以我只使用
getFragmentManager();
及其工作原理

//FragmentManager FragmentManager=getSupportFragmentManager();
//FragmentTransaction FragmentTransaction=fragmentManager.beginTransaction()


嘿,我找到了问题的解决方案

公共类AppPreferences扩展了AppCompatActivity{

public  static class SettingsFragment extends PreferenceFragment{

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);

        addPreferencesFromResource(R.xml.app_preferences);
    }
}
问题在于这里的代码和这个
getSupportFragment();
所以我只使用
getFragmentManager();
及其工作原理

//FragmentManager FragmentManager=getSupportFragmentManager();
//FragmentTransaction FragmentTransaction=fragmentManager.beginTransaction()


尝试将android.R.id.content更改为R.id.content尝试将android.R.id.content更改为R.id.content相同的错误?有什么区别吗?@theruesabdallah用您的更改更新问题
公共静态类设置片段扩展首选项片段兼容{@Override public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);//从XML资源加载首选项addPreferencesFromResource(R.XML.app_preferences);}
现在的错误是无法解决首选项FragmentCompat相同的错误?有什么区别吗?@Theruesabdallah用您的更改更新问题
公共静态类设置片段扩展首选项FragmentCompat{@Override public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);//从XML资源加载首选项addPreferencesFromResource(R.XML.app_preferences);}
现在的错误是无法解决PreferenceFragmentCompat我也遇到了同样的问题。我尝试使用“PreferenceFragmentCompat”,如接受的答案所示,但我没有成功配置主题。然后我用getFragmentManager()替换getSupportFragmentManager(),效果很好。我也遇到了同样的问题。我尝试使用“PreferenceFragmentCompat”,如接受的答案所示,但我没有成功配置主题。然后,我用getFragmentManager()替换了getSupportFragmentManager(),效果很好。
    SettingsFragment settingsFragment = new SettingsFragment();
    FragmentTransaction setting_fragment;
    setting_fragment = getFragmentManager().beginTransaction().add(android.R.id.content, settingsFragment, "SETTING_FRAGMENT");
    setting_fragment.commit();


}

public static class SettingsFragment extends PreferenceFragment {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Load the preferences from an XML resource
        addPreferencesFromResource(R.xml.app_preferences);
    }
}


}