我正试图更新我的Xamarin Android应用程序的settingspreferences屏幕,它使用PreferenceManager类。由于我的目标是Android 10,这个类已经废弃,我想使用AndroidX.Preference库代替。
我按照 谷歌指南 用于制作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;