我想在我的应用程序中创建一个单独的类来处理错误报告并将特定错误发送到数据库。但是,我无法弄清楚 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/