我从SQLite表中获取数据时收到空指针异常.我在使用游标获取数据时获得空指针异常,如下面的Cursor c = db.fetchAllData(); 请看下面的精确代码,并向我提出一些想法......
display_transaction.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);
}
}
Run Code Online (Sandbox Code Playgroud)
DisplayTestDBHelper.class
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;
}
Run Code Online (Sandbox Code Playgroud)
请帮我解决上述问题......提前致谢!!!!
你没有初始化db.
根据你如何实现帮助器的构造函数,使用类似的东西
db = new DisplayTestDBHelper(this);
Run Code Online (Sandbox Code Playgroud)
初始化它,传递活动this为Context.