gpt4 book ai didi

Android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked

转载 作者:行者123 更新时间:2023-11-29 17:49:57 25 4
gpt4 key购买 nike

我是 android 编程的初学者。执行一种方法时出现此错误。我有这种监听音量变化事件的方法。

public boolean onKeyDown(int keyCode, KeyEvent event) 
{
//db = new DatabaseHelper(this.getApplicationContext());
AutomatedFragment obj = new AutomatedFragment();
if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP))
{
//@ override
obj.sendSMSEmergency();
}
return true;
}

现在我正在调用另一个方法从其他类发送 SMSEMergency()...这是

public void sendSMSEmergency() {
db = new ContactsManager(getActivity());
ArrayList<String> numberList = db.numberList();
String numbers[] = new String[numberList.size()];
numbers = numberList.toArray(numbers);


try {
SmsManager smsManager = SmsManager.getDefault();
for(String number : numbers) {
Log.d("number", number);
smsManager.sendTextMessage(number, null, msg.getMessage(), sentPendIntent, delivered_pendintent);
}
Toast.makeText(getActivity(), "Automatic Texts Successfull", Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(getActivity(), "Texts Failed !!", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}

当我按下音量调高时,我的应用程序停止并且我在 logcat 中出现以下错误。

05-11 12:18:29.726: E/AndroidRuntime(828): java.lang.NullPointerException
05-11 12:18:29.726: E/AndroidRuntime(828): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)

不知道怎么解决

最佳答案

您传递给 SQLiteOpenHelper 构造函数的 Context 为空。

假设 ContactsManager 是您的助手类,在这里

db = new ContactsManager(getActivity());

您在 fragment 附加到 Activity 之前实例化助手,并且 getActivity() 返回 null。使用一些其他的 Context 来源,例如将 YourActivity.this 作为参数传递。

关于Android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23595206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com