获取游标对象时出现空指针异常

Ana*_*cis 1 sqlite android

我从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)

请帮我解决上述问题......提前致谢!!!!

laa*_*lto 5

你没有初始化db.

根据你如何实现帮助器的构造函数,使用类似的东西

db = new DisplayTestDBHelper(this);
Run Code Online (Sandbox Code Playgroud)

初始化它,传递活动thisContext.