J'essaie d'obtenir une fragmentation et un fragmentManager pour travailler en C # à l'aide d'Android.Support.v4.app.fragmenter, mais l'espace de noms est grisé et que vs dit «L'utilisation de la directive est inutile». J'ai installé le package XAMARIN Android Support V4 Nuget, nettoyé et reconstruit mon projet, installé xamarin.android.support.fragment, aucun n'a travaillé. Aidez-moi s'il vous plaît pourquoi ceux-ci sont toujours jugés obsolètes dans VS, même si j'ai inclus cette bibliothèque.
using Android.App; using Android.OS; using Android.Support.V7.App; using Android.Runtime; using Android.Widget; using Android.Support.V4.App.Fragment; using System; namespace LoginSystem { [Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)] public class MainActivity : AppCompatActivity { private Button mBtnSignUp; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.activity_main); mBtnSignUp = FindViewById<Button>(Resource.Id.btnSignUp); mBtnSignUp.Click += (object sender, EventArgs e) => { //DEPRECATION HERE FragmentTransaction transaction = FragmentManager.BeginTransaction(); dialog_SignUp signUpDialog = new dialog_SignUp(); signUpDialog.Show(transaction, "dialog fragment"); }; } public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults) { Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults); base.OnRequestPermissionsResult(requestCode, permissions, grantResults); } } }
3 Réponses :
Avez-vous installé le package Nuget xamarin.android.support.v4 v28.0.0.3? P>
Si vous l'avez, vous devez utiliser le supportFragmentManager au lieu du fragmentManager, et cela résoudra votre problème. P>
Oui j'ai ce paquet exact. Malheureusement, FragmentTransaction est toujours obsolète et il ne semble pas exister une fragmentation de soutien .. Lorsque je change fragmenttransaction en var, le .show () cesse de fonctionner
Bonjour, ça marche ici sans aucun problème. Le soutienfragmentManager fait partie du contexte si vous héritez de l'appelcompativement. Il semble être une mauvaise configuration, alors si j'étais toi; Je supprimerai le dossier .vs, avec les dossiers BIN et OBJ, et effacerez également le cache des paquets (je suppose que vous savez comment le faire). Ensuite, je vais franchir mes doigts et redémarrer le VS comme administrateur et essayer de tout reconstruire.
Utilisez le supportfragmentManager CODE> et complètement qualifié
fragmenttransaction code> car cette classe existe dans deux espaces de noms. P>
android.support.v4.app.fragmmentTransaction code> p>
Selon votre code, vous utilisez FragmentManager et FragmentTransaction, l'espace de noms sont Vous pouvez donc utiliser Android.Support.v4.app.fragment, premièrement, vous devez installer xamarin.android.support.v4 strong> par Package Nuget d'abord. p> puis utilisez Framelayout pour contenir