java - 对在 android studio 中自定义 listview 感到困惑
问题描述
我的数据库为空有什么问题?那里说Cursor cursor = myDb.getData(select * from Donation_Details); myDb : null
,它弹出下面的错误。
这是运行时错误说
这是DatabaseHelper
我分配和清除数据库时的内容。
private static final String DATABASE_NAME = "eBossCharity.db";
private static final int DATABASE_VERSION = 1;
public dbOpenHelper(Context context){
super(context,DATABASE_NAME,null,DATABASE_VERSION);
}
这是dbAccess
我想从数据库中获取数据的时候。
public dbOpenHelper openHelper;
public SQLiteDatabase db;
private static dbAccess instance;
public dbAccess(Context context) {
this.openHelper = new dbOpenHelper(context);
}
public static dbAccess getInstance(Context context) {
if (instance == null) {
instance = new dbAccess(context);
}
return instance;
}
public Cursor getData(String sql) {
db = openHelper.getReadableDatabase();
return db.rawQuery("", null);
}
这是Summary page
我想将数据显示到自定义列表视图中的时间。我在第 13 行放了一个断点并调试它。它说我的数据库是空的。我调用了该dbAccess
方法getData
并获取了数据库“Donation_details”。它应该显示数据...
ListView listView;
ArrayList<Model> mList;
RecordListAdapter mAdapter = null;
dbAccess myDb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_summary__page);
this.listView = findViewById(R.id.listView);
mList = new ArrayList<>();
mAdapter = new RecordListAdapter(this,R.layout.row,mList);
listView.setAdapter(mAdapter);
Cursor cursor = myDb.getData("Select * from Donation_Details");
mList.clear();
while(cursor.moveToNext()){
int id = cursor.getInt(0);
String txnno = cursor.getString(1);
String name = cursor.getString(2);
String txndate = cursor.getString(3);
BigDecimal amount = BigDecimal.valueOf(cursor.getDouble(4));
String description1 = cursor.getString(5);
String createddate = cursor.getString(7);
mList.add(new Model(id,txnno,name,txndate,amount,description1,createddate));
}
我想我在这里和那里错过了一些东西。但是我找不到它,或者我输入了错误的东西导致数据库为空?我能得到一些指导吗?预先感谢...
解决方案
您需要初始化 'dbAccess myDb'
推荐阅读
- node.js - 如何更新 ref 文档中的数据?
- python - 如何访问 pyspark 数据框中的结构元素?
- wpf - 如何在 prism InvokeCommandAction 中使用 EventArgsConverter?
- python - 使用 re.split 获取 JSON 列表
- flutter - W/颤振(22164):onAdFailedToLoad:0
- android - 无法打开资产 URL:file:///android_asset/error.html
- .htaccess - .htaccess 中的密码保护不要求输入密码
- r - 对于 R Lavaan 用户:您如何克服不正常的变量?
- python-3.x - 如何使用 Python 模块 Subprocess 发送密码?
- vba - VBA 刷新表单