I am getting error while creating a Toast
Toast toast = Toast.makeText(this, text, duration);
I am getting cannot resolve ma
In the onClick(View view)
click listener within a RecyclerView.ViewHolder
the context is retrieved with view.getContext()
, as in:
```
public class MyHolder extends RecyclerView.ViewHolder implements
View.OnClickListener {
public MyHolder(View itemView) {
super(itemView);
//...
itemView.setOnClickListener(this);
}
@Override
public void onClick(View view) {
Toast.makeText(view.getContext(), "the message",
Toast.LENGTH_SHORT).show();
}
```
Make sure that you type:
Toast toast = Toast.makeText(this, text, duration);
Not:
Toast toast = new Toast.makeText(this, text, duration);
Toast.makeText(YourActivity.this, text, duration).show();
If you are trying to Toast
your text in the MainActivity then do this:
Toast.makeText(getApplicationContext(), "Your text", Toast.LENGTH_LONG).show();
I have faced similar problem in android studio, I resolve this issue by using getActivity()
instead of this
in the fragment
Toast.makeText(getActivity(), "Your Text", Toast.LENGTH_SHORT).show();
I have faced a similar problem but in my case i found out that Xamarin c# and Java in Android studio have differences when calling some functions(same functions).
When using Xamarin and c#, then makeText becomes MakeText and show becomes Show as shown below:
Toast toast = Toast.MakeText(this, "Text", ToastLength.Long);
toast.Show();
Hope this helps:)