显示Java类的Toast通知
作者:互联网
我想在我的应用程序中创建一个单独的类来处理错误报告,并将特定的错误发送到数据库.但是,我无法弄清楚上下文应该是什么以及应该如何正确编码.我认为它仍然应该可行,我只需要对它进行编码,如果不是这种情况,对我来说最好的解决方案是什么?
public class SendError implements Runnable
{
private String url;
public SendError(String errors, String form, String database, String SQL)
{
url = string;
Handler handler = new Handler();
handler.post(new Runnable() {
public void run() {
Toast toast = Toast.makeText(getContext, msg, Toast.LENGTH_LONG);
toast.show();
}
});
}
}
编辑:
我正在尝试为整个应用程序创建一个类,该类在将数据提交到数据库时处理SQL错误的记录.该课程需要做2件事.根据表单,数据库,提交时间和导致错误的SQL代码提交信息.我想让该类做的另一件事是显示向用户提供基本错误信息的祝酒词.我已经妥善解决了数据提交部分(因此成为Runnable的原因),但是Toast仍然出现错误.
解决方法:
不应该在构造函数中完成工作,这会使您单独的类无用.
public class SendError implements Runnable
{
private final Context context;
private final String url;
public SendError(Context context, String string) {
this.context = context;
this.url = string;
}
public void makeToast(String msg, String errors, String form, String database, String SQL) {
Handler handler = new Handler();
handler.post(new Runnable() {
public void run() {
Toast toast = Toast.makeText(context, msg, Toast.LENGTH_LONG);
toast.show();
}
});
}
}
您的上下文需要是相关的上下文,通过使用Toast,上下文通常是一种活动,可以采取以下形式:
>这(在活动中)
> ActivityName.this(在Activity的内部类中)
> getActivity(在Activity的一个片段中)
例如:
new SendError(YourActivity.this, "something").makeToast("Hello", "errors", "form", "database", "sql");
标签:android-context,toast,java,class,android 来源: https://codeday.me/bug/20191028/1955285.html