编程语言
首页 > 编程语言> > 显示Java类的Toast通知

显示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