Я пытаюсь обновить экран настроек / предпочтений моего приложения Xamarin Android, в котором использовался класс PreferenceManager. Поскольку я нацелен на Android 10, этот класс устарел, и я хотел бы вместо него использовать библиотеку AndroidX.Preference.
Я следовал руководству Google для создания экрана настроек с 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, чтобы в дальнейшем предотвратить любые проблемы с неподдерживаемым кодом.
Любая помощь приветствуется. Спасибо!