gpt4 book ai didi

android - SQLiteDatabase.OpenDatabase 是 Fragment 中的 NullPointerException

转载 作者:搜寻专家 更新时间:2023-11-01 09:28:42 24 4
gpt4 key购买 nike

这在 fragment onCreateView 之外有效,但在该静态方法中无效。

SQLiteDatabase checkDB = SQLiteDatabase.openDatabase(path_to + DATABASE_NAME, null, SQLiteDatabase.OPEN_READWRITE);

我有一个 DataBaseHelper,它在静态方法之外初始化为

FeedReaderHelper mHelper = new FeedReaderHelper(this);

而对于 fragment ,我使用

if (getActivity() != null)
FeedReaderHelper xHelper = new FeedReaderHelper(getActivity());
else
Log.d(TAG, "Null");

我知道 getActivity 不为空,即使我只尝试打开和关闭数据库,错误仍然存​​在。我的 logcat 是这样的:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference

我不明白 Resources 在这里是什么意思,也不知道如何完全避免错误。

另外,我试过在调用onContentView 之前打开数据库;它仍然在 checkDB.close

上解析为 NullPointer

最佳答案

我使用 FeedReederHelper 只是为了调用 db.exec() 语句,因此应该使用同一个 Helper 打开数据库,而不用 中的硬编码路径>checkDB 调用。mHelper.getWriteableDatabase(); 解决了这个问题。

关于android - SQLiteDatabase.OpenDatabase 是 Fragment 中的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48968846/

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