Android 获取光标对象时出现空指针异常
我在从SQLite表中获取数据时遇到空指针异常。 在使用游标c=db.fetchAllData()下面的游标获取数据时,我得到了空指针异常; 请看一下下面的精确代码,并给我一些建议Android 获取光标对象时出现空指针异常,android,sqlite,Android,Sqlite,我在从SQLite表中获取数据时遇到空指针异常。 在使用游标c=db.fetchAllData()下面的游标获取数据时,我得到了空指针异常; 请看一下下面的精确代码,并给我一些建议 display\u事务类 public class display_transaction extends Activity { DisplayTestDBHelper db; protected void onCreate(Bundle savedInstanceState) {
display\u事务类
public class display_transaction extends Activity {
DisplayTestDBHelper db;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.display_listview);
displayListView();
}
public void displayListView() {
Cursor c= db.fetchAllData();
String[] columns={db.KEY_ID,db.KEY_DESCRIPTION,db.KEY_AMOUNT};
int[] id=new int[]{R.id.textView1,R.id.textView2};
SimpleCursorAdapter s=new SimpleCursorAdapter(this,R.layout.listviewlayout,c,columns,id,0);
ListView l=(ListView) findViewById(R.id.listview1);
l.setAdapter(s);
}
}
public Cursor fetchAllData() {
String TABLE_NAME="transaction_table";
SQLiteDatabase db = this.getWritableDatabase();
Cursor mCursor = db.query(TABLE_NAME, new String[] {KEY_ID, KEY_DESCRIPTION, KEY_AMOUNT}, null, null, null, null, null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
DisplayTestDBHelper.class
public class display_transaction extends Activity {
DisplayTestDBHelper db;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.display_listview);
displayListView();
}
public void displayListView() {
Cursor c= db.fetchAllData();
String[] columns={db.KEY_ID,db.KEY_DESCRIPTION,db.KEY_AMOUNT};
int[] id=new int[]{R.id.textView1,R.id.textView2};
SimpleCursorAdapter s=new SimpleCursorAdapter(this,R.layout.listviewlayout,c,columns,id,0);
ListView l=(ListView) findViewById(R.id.listview1);
l.setAdapter(s);
}
}
public Cursor fetchAllData() {
String TABLE_NAME="transaction_table";
SQLiteDatabase db = this.getWritableDatabase();
Cursor mCursor = db.query(TABLE_NAME, new String[] {KEY_ID, KEY_DESCRIPTION, KEY_AMOUNT}, null, null, null, null, null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
请帮我解决以上问题。。。
提前感谢 您没有初始化
db
根据您实现助手构造函数的方式,可以使用
db = new DisplayTestDBHelper(this);
要初始化它,请为
上下文传递活动this
您没有初始化db
根据您实现助手构造函数的方式,可以使用
db = new DisplayTestDBHelper(this);
要初始化它,请将活动this
传递给上下文您尚未初始化db
您需要执行以下操作:
db=newdisplaytestdbhelper(这个)代码>您尚未初始化db
您需要执行以下操作:
db=newdisplaytestdbhelper(这个)代码>从现在开始,如果您得到NullPointerException,首先去搜索是否初始化了对象。从现在开始,如果你得到NullPointerException,首先去搜索你是否初始化了一个对象。那会节省你很多时间。非常感谢你。非常感谢你