java - 显示来自 Java 类的 Toast 通知

标签 java android class toast android-context

我想在我的应用程序中创建一个单独的类来处理错误报告并将特定错误发送到数据库。但是,我无法弄清楚 Context 应该是什么以及应该如何正确编码。我认为它仍然是可能的,我只需要以不同的方式编码,如果不是这种情况,对我来说最好的解决方案是什么?

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 错误的记录。该类需要做两件简单的事情。根据什么形式、数据库、提交的时间以及产生错误的SQL代码提交信息。我想让这个类做的另一件事是显示一个 toast,将基本错误信息返回给用户。我已经正确处理了数据提交部分(因此是 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 开始,Context 通常是一个 Activity,它可以采用以下形式:

  • this(在 Activity 中)
  • ActivityName.this(在 Activity 的内部类中)
  • getActivity(在 Activity 内的 Fragment 中)

例如:

 new SendError(YourActivity.this, "something").makeToast("Hello", "errors", "form", "database", "sql");

关于java - 显示来自 Java 类的 Toast 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27723990/

相关文章:

java - 如何将从联系人中选择的电话号码存储到字符串中?

python - 如何访问具有特定 Class 属性值的 Class 实例?

python - 列出一个类的方法并动态调用该类的方法

python - 重载加法、减法和乘法运算符

java - Struts2 简单应用程序不执行

java - 在较大的图像中查找已知的子图像

java - 添加 firebase 与 google play 服务冲突

Java 为 XML 节点赋值

java - 当 JavaFX 中选定的选项卡更改时如何聚焦特定节点?

android - 如何在 React Native 中创建对角线边框?