更新时间:2022-06-10 05:45:32
makeText
调用的第一个参数应该是Activity
实例,在你的如果您复制了以前在MainActivity
中的匿名类型的点击处理程序。但由于Toaster
不属于MainActivity
,您可以尝试传递活动
进入烤面包机
。
将代码更改为;
The first parameter to themakeText
call should be anActivity
instance, in your case it looks like you've copied a click-handler that was previously an anonymous type insideMainActivity
. But sinceToaster
is not part ofMainActivity
you could try passing theActivity
in to theToaster
.
Change your code to;
public class Toaster implements OnClickListener {
private final MainActivity mainActivity;
public Toaster(final MainActivity mainActivity) {
this.mainActivity = mainActivity;
}
@Override
public void onClick(View clickedButton) {
final String greetingText = "Hello from Android!";
final Toast tempMessage = Toast.makeText(mainActivity, greetingText, Toast.LENGTH_SHORT);
tempMessage.show();
}
}
并确保将 MainActivity
的实例传递给 Toaster
在调用它的构造函数时。
希望这会有所帮助,
Fredrik
and make sure to pass the instance of MainActivity
to Toaster
when calling it's constructor.
Hope this helps,
Fredrik
试试吧,
Well try this out,
public class Toaster implements OnClickListener {
Context ctx = this;
@Override
public void onClick(View clickedButton)
{
String greetingText = "Hello from Android!";
Toast.makeText(cyx , greetingText, Toast.LENGTH_SHORT).show();
}
}
-KR
-KR
你可以在里面创建Toaster类MainActivity。
You can create the Toaster class inside the MainActivity.
public class MainActivity extends Activity {
public class Toaster implements OnClickListener {
@Override
public void onClick(View clickedButton) {
String greetingText = "Hello from Android!";
Toast tempMessage = Toast.makeText(MainActivity.this, greetingText,
Toast.LENGTH_SHORT);
tempMessage.show();
}
}
}