第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

無法獲得數(shù)據(jù)庫連接,因?yàn)槲覠o法將上下文傳遞給 DBManager

無法獲得數(shù)據(jù)庫連接,因?yàn)槲覠o法將上下文傳遞給 DBManager

紫衣仙女 2022-07-14 10:38:43
我有一個(gè)虛擬數(shù)據(jù)管理器,它將使用 SQLite 數(shù)據(jù)庫的內(nèi)容填充 ArrayList。當(dāng)我嘗試創(chuàng)建數(shù)據(jù)庫對象時(shí),我收到一條錯(cuò)誤消息,指出無法從靜態(tài)上下文中引用“com.example.listview.manager.ActivityDummyDataManager.this”。package com.example.listview.manager;import android.database.Cursor;import com.example.listview.DBManager;import com.example.listview.model.ActivityItem;import java.util.ArrayList;public class ActivityDummyDataManager {    public static ArrayList<ActivityItem> getActivityItemList() {        DBManager db = new DBManager(this);        Cursor cursor = db.fetch();        ArrayList<com.example.listview.model.ActivityItem> list = new ArrayList<>();        while (cursor.moveToNext()) {            int index;            index = cursor.getColumnIndexOrThrow("id");            Long id = cursor.getLong(index);            index = cursor.getColumnIndexOrThrow("activity");            String activity = cursor.getString(index);            index = cursor.getColumnIndexOrThrow("description");            String description = cursor.getString(index);            index = cursor.getColumnIndexOrThrow("description");            String date = cursor.getString(index);            ActivityItem item = new ActivityItem();            item.setId(id);            item.setActivity(activity);            item.setDescription(description);            item.setDate(date);            list.add(item);        }        return list;    }}我有一個(gè) DBManager 類,我通常會使用 DBManager db = new DBManager(this) 訪問,但由于某種原因,這不適用于此類。package com.example.listview;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.SQLException;import android.database.sqlite.SQLiteDatabase;import android.util.Log;
查看完整描述

1 回答

?
達(dá)令說

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊

您的構(gòu)造函數(shù) DBManager(Context c)需要一個(gè)上下文作為參數(shù),如果您從 Activity 或 Service 類調(diào)用此構(gòu)造函數(shù),它將工作,因?yàn)?Activity 和 Service 都是 Context 的子類,因此傳遞this就足夠了。由于ActivityDummyDataManager不處理上下文,您需要從活動(dòng)傳遞 Context 或者您可以傳遞應(yīng)用程序上下文getApplicationContext()。


改變你的方法如下


public static ArrayList<ActivityItem> getActivityItemList() {

        DBManager db = new DBManager(mContext);

        //rest of your code.

}

并在調(diào)用它時(shí)使用合適的活動(dòng)或應(yīng)用程序上下文。


查看完整回答
反對 回復(fù) 2022-07-14
  • 1 回答
  • 0 關(guān)注
  • 131 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號