Java 错误:(25,94)错误:不兼容的类型:SettingsFragment无法转换为Fragment
从这里开始的错误是settingsFragment,错误是error:(25,94)错误:不兼容的类型:settingsFragment无法转换为FragmentJava 错误:(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
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);
}
}
}