java - 在静态 SQLiteDatabase 类中调用非静态方法

标签 java android exception

当我使用的静态 SQLite 数据库类中发生异常时,我想向用户显示一条消息(消息框或 Toast)。

问题是我无法在静态类中调用非静态方法,我该如何处理这个问题。

这是类(class)

private static SQLiteDatabase getDatabase(Context aContext) {

当异常发生时,我想在类中添加类似的内容,但context会产生静态类中对非静态引用的问题。

Context context = getApplicationContext();
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;

Toast toast = Toast.makeText(context, text, duration);
toast.show();

最佳答案

听起来您正在尝试使用“getApplicationContext()”函数,这是一个非静态方法。您不能从静态方法调用非静态方法。为什么不直接使用传入的上下文呢?即,

Context context = aContext;
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;

Toast toast = Toast.makeText(context, text, duration);
toast.show();

关于java - 在静态 SQLiteDatabase 类中调用非静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2546947/

相关文章:

android - 在 android embarcadero c++builder 中更新视觉组件

Android 操作栏 : show/hide tabs dynamically?

objective-c - 如何捕获 NSInvalidArgumentException?

java - 运行 JavaCV 应用程序时出现 IllegalStateException

java - java swing 中未找到列错误消息

java - 如何从互联网上的某些资源中读取信息并将其保存在数据库中

java - MySQL 非注册驱动程序

android - React Native Maps - OnRegionChange 使 map 结结巴巴

Java线程中的异常

java - 为 LSH Minhash 算法生成随机哈希函数