Java 从微调器显示toast时出现上下文错误

Java 从微调器显示toast时出现上下文错误,java,android,spinner,toast,Java,Android,Spinner,Toast,当用户从微调器中选择一个选项时,我想显示一个祝酒词。我不断收到错误,无法解析方法makeText。我已尝试使用getApplicationContext并键入MainActivity。这是一个错误,但要么仍然存在相同的错误,要么出现另一个错误 不兼容的类型。必需:android.widget.Toast 使用代码行而不是它 Toast.makeText(MainActivity.this, "Hello", Toast.LENGTH_SHORT).show(); 在本例中,这指的是OnItem

当用户从微调器中选择一个选项时,我想显示一个祝酒词。我不断收到错误,无法解析方法makeText。我已尝试使用getApplicationContext并键入MainActivity。这是一个错误,但要么仍然存在相同的错误,要么出现另一个错误

不兼容的类型。必需:android.widget.Toast


使用代码行而不是它

Toast.makeText(MainActivity.this, "Hello", Toast.LENGTH_SHORT).show();
在本例中,这指的是OnItemSelectedListener。所以你需要改变

Toast toastMessage = Toast.makeText(this, "Hello", Toast.LENGTH_SHORT).show();

.show方法没有返回值

不兼容的类型。必需:android.widget.Toast

因为将void指定给Toast对象

如图所示:方法返回void而不是Toast。按如下方式操作:

Toast.makeText(MainActivity.this, "Hello", Toast.LENGTH_SHORT).show();
或在创建Toast对象后调用show,如下所示:

Toast toastMessage = Toast.makeText(MainActivity.this,"Hello",Toast.LENGTH_SHORT);
toastMessage.show();

您不需要声明toast对象。只要写

Toast.makeText(this, "Hello", Toast.LENGTH_SHORT).show();

它应该会起作用。如果有,请告诉我。

我已经尝试过了,但由于某种原因,它给了我一个不兼容的类型错误。这对我很有效。非常感谢。我不知道为什么在声明toast对象时会出现上下文错误。toast toast是toast的对象实例,toast.makeText是静态引用。这在我尝试时也适用。谢谢你的反馈。@Chris:如果工作正常,而且如果你知道错误发生的原因,那就好了,谢谢
Toast toastMessage = Toast.makeText(MainActivity.this,"Hello",Toast.LENGTH_SHORT);
toastMessage.show();
Toast.makeText(this, "Hello", Toast.LENGTH_SHORT).show();