Je veux afficher un message de toast. Si je le faisais dans onCreate() cela fonctionnerait bien. Mais je veux le faire comme ceci et j'obtiens une erreur:Xamarin Toast Message error (C#)
Java.Lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
Que dois-je faire?
public void textToast(string textToDisplay) {
Toast.MakeText(this,
textToDisplay, ToastLength.Long).Show();
}
class SampleTabFragment : Fragment
{
Button add;
MainActivity main = new MainActivity();
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
base.OnCreateView(inflater, container, savedInstanceState);
var view = inflater.Inflate(Resource.Layout.Tab, container, false);
add = view.FindViewById<Button>(Resource.Id.add);
add.Click += Click;
return view;
}
void Click(object sender, EventArgs eventArgs)
{
main.textToast("I like Toast!");
}
}
Ce que je regarderais est si « ceci » ou la vue à l'intérieur de « ceci » que le message de pain grillé tente d'afficher au-dessus de est nul dans le contexte à partir duquel vous essayez d'afficher le message toast. –
Je recommanderais simplement d'utiliser l'activité dans laquelle le fragment est créé. Vous pouvez utiliser 'getActivity()' dans votre méthode 'onAttach()' pour vous assurer que c'est une référence correcte. –