我正在开发一个android应用程序,当我在我的代码中使用“Toast.makeText”时,我面临强制关闭问题,当我删除它工作正常的行时。谁能告诉我这个问题。我正在粘贴 Log Cat 的屏幕截图。

我正在开发一个android应用程序,当我在我的代码中使用“Toast.makeText”时,我面临强制关闭问题,当我删除它工作正常的行时。谁能告诉我这个问题。我正在粘贴 Log Cat 的屏幕截图。

Toast.makeText(MainActivity.this, "Sending SMS..Please Wait..!!",Toast.LENGTH_SHORT).show();
行。类 Activity 是从类 Context 扩展而来的。在 Activity 中引用 Context 是不正确的。当您想显示 Toast 时,只需将您的活动作为上下文。
Class MainActivtiy extends Activty {
...
Toast.makeText(this,"Sending SMS..Please Wait..!!",Toast.LENGTH_SHORT).show();
...
}
如果在内部类中调用,就这样做:
Class MainActivtiy extends Activty {
...
onClick (View v) {
Toast.makeText(MainActivty.this,"Sending SMS..Please Wait..!!",Toast.LENGTH_SHORT).show();
}
...
}
祝你好运!
context变量没有价值。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.context = this;
}
您可以使用 getApplicationContext() 或 Your_Class_Name.this 而不是使用 this.context 那么我认为这个问题将得到解决。
找到解决方案..它是这样的
Toast.makeText(MainActivity.this, "Sending SMS..Please wait..!!",Toast.LENGTH_SHORT).show();
尝试
Toast.makeText(this, "Sending SMS..Please Wait..!!",Toast.LENGTH_SHORT).show();
使用 this.context 从 Thread 访问上下文会给您 NULLPointerException,因为 Thread 类结构属于经典 Java 并且不拥有 Android 上下文。例如,您尝试访问为 null 的“this.context”。正如@SamirMangroliya 建议使用当前活动或使用Android 多线程异步任务的方式,它拥有上下文引用
请注意,这是一条评论,但找不到原始回复,所以在这里