Xamarin AndroidX.Preferences - 无法从 'SettingsFragment' 转换为 'Android.Support.V4.App.Fragment'
Xamarin AndroidX.Preferences - Cannot convert from 'SettingsFragment' to 'Android.Support.V4.App.Fragment'
我正在尝试更新我的 Xamarin Android 应用程序的 settings/preferences 屏幕,它正在使用 PreferenceManager class。由于我的目标是 Android 10,因此 class 已弃用,我想改用 AndroidX.Preference 库。
我按照 Google's guide 使用 AndroidX 创建了一个设置屏幕。这是我使用的代码
namespace SmartLyrics
{
[Activity(Label = "Settings", ConfigurationChanges = Android.Content.PM.ConfigChanges.ScreenSize | Android.Content.PM.ConfigChanges.Orientation, ScreenOrientation = Android.Content.PM.ScreenOrientation.Portrait)]
public class SettingsFragment : PreferenceFragmentCompat
{
public override void OnCreatePreferences(Bundle savedInstanceState, string rootKey)
{
AddPreferencesFromResource(Resource.Xml.perfs);
}
}
public class SettingsActivity : AppCompatActivity
{
protected override async void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.main_settings);
SupportFragmentManager
.BeginTransaction()
.Replace(Resource.Id.settingsContainer, new SettingsFragment()) //<--error here
.Commit();
}
}
}
我收到错误 Cannot convert from 'SmartLyrics.SettingsFragment' to 'Android.Support.V4.App.Fragment'
。我在网上四处张望,找不到解决方法或有关此错误的任何信息。我真的很想使用 AndroidX 库来防止以后出现不受支持的代码的任何问题。
感谢任何帮助。谢谢!
检查 AppCompatActivity
指的是哪个包?
如果是:
using Android.Support.V7.App;
将其更改为:
using AndroidX.AppCompat.App;
我正在尝试更新我的 Xamarin Android 应用程序的 settings/preferences 屏幕,它正在使用 PreferenceManager class。由于我的目标是 Android 10,因此 class 已弃用,我想改用 AndroidX.Preference 库。
我按照 Google's guide 使用 AndroidX 创建了一个设置屏幕。这是我使用的代码
namespace SmartLyrics
{
[Activity(Label = "Settings", ConfigurationChanges = Android.Content.PM.ConfigChanges.ScreenSize | Android.Content.PM.ConfigChanges.Orientation, ScreenOrientation = Android.Content.PM.ScreenOrientation.Portrait)]
public class SettingsFragment : PreferenceFragmentCompat
{
public override void OnCreatePreferences(Bundle savedInstanceState, string rootKey)
{
AddPreferencesFromResource(Resource.Xml.perfs);
}
}
public class SettingsActivity : AppCompatActivity
{
protected override async void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.main_settings);
SupportFragmentManager
.BeginTransaction()
.Replace(Resource.Id.settingsContainer, new SettingsFragment()) //<--error here
.Commit();
}
}
}
我收到错误 Cannot convert from 'SmartLyrics.SettingsFragment' to 'Android.Support.V4.App.Fragment'
。我在网上四处张望,找不到解决方法或有关此错误的任何信息。我真的很想使用 AndroidX 库来防止以后出现不受支持的代码的任何问题。
感谢任何帮助。谢谢!
检查 AppCompatActivity
指的是哪个包?
如果是:
using Android.Support.V7.App;
将其更改为:
using AndroidX.AppCompat.App;