2011-12-10 10 views
0

私はまだルーキーなので基本的な間違いです。アクティビティ(...)をインスタンス化できません - ExpendalbleListActivity

package pl.cashflowmanager; 

//all necessary imports are here 

    public class SummaryOverMonths extends ExpandableListActivity { 


     private CfmDbAdapter db; 
     private final Cursor monthsCountQuery = db.SQLDb.rawQuery("select * from expenses", null); //crashes here with: 12-10 12:51:15.101: E/AndroidRuntime(348): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{pl.cashflowmanager/pl.cashflowmanager.SummaryOverMonths}: java.lang.NullPointerException 


    //rest code goes there 

私はこの問題をコメントしました。クエリは正常です、データベースが動作しています。カーソルがメソッドの中に入るべきか、何か?

答えて

0

まだCfmDbAdapterをインスタンス化していないため、NullPointerExceptionが届いています。あなたはそれのためのフィールドを作成しました、はい、それにあなたのクエリを呼び出す前に何も入れていません。 存在しないアイテムにアクションを実行して、NullPointerを引き起こしています。最初にそのような

インスタンス化して:

private CfmDbAdapter db = new CfmDbAdapter(); // Or whatever constructor it expects. 
private final Cursor monthsCountQuery = db.SQLDb.rawQuery("select * from expenses", null); 

トリックを行う必要があります。

関連する問題