Я хочу показать тост-сообщение. Если я сделаю это в onCreate(), он будет работать нормально. Но я хочу сделать это вот так, и я получаю сообщение об ошибке:Xamarin Toast Ошибка сообщения (C#)
Java.Lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
Что мне делать?
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!");
}
}
То, что я хотел бы посмотреть на это, если «это» или взгляд изнутри «это», что сообщение тост пытается отобразить на вершине имеет значение null в контексте, из которого вы пытаетесь показать сообщение тоста. –
Я бы порекомендовал просто использовать Activity, для которого создан фрагмент. Вы можете использовать 'getActivity()' в вашем методе 'onAttach()', чтобы убедиться, что это правильная ссылка. –