0

こんにちは、Android プログラミングは初めてで、作成したアプリのボタンをクリックした後にこのエラー メッセージが表示される理由がわかりません。

java.lang.NullPointerException at com.example.dailydoseofhappiness.MainActivity.searchRecord(MainActivity.java:62) at com.example.dailydoseofhappiness.MainActivity.searchRecord(MainActivity.java:52)

これがコードフラグメントです。

public void onClick(View arg){ 
     if(arg.getId()==R.id.btnfortune){ //this is line 52
         searchRecord(count);
     }

 }

public void searchRecord(int count)
throws SQLException
{
    Cursor rsCursor;
    String [] rsFields = {"mesNum","Message"}; // this is line 62
    rsCursor = dbm.dbase.query("MessageFile", rsFields, "mesNum = " + count, null,       null, null, null, null);
    rsCursor.moveToFirst();

    if(rsCursor.isAfterLast()==false){

     lblmessageS.setText(rsCursor.getString(0));
    }
    rsCursor.close();
     }

何が間違っているのか、誰でもこのコードフラグメントをチェックできますか

4

1 に答える 1

0

このsearchRecord方法を試してください。いくつかのばかげたチェックを追加したので、変数がnullの場合、警告が表示されます。

public void searchRecord(int count) throws SQLException {
    Cursor rsCursor;
    String [] rsFields = {"mesNum","Message"}; // this is line 62

    if (dbm == null)
        throw new Exception("dbm object is null");

    if (dbm.dbase == null)
        throw new Exception("dbm.dbase is null");

    rsCursor = dbm.dbase.query("MessageFile", rsFields, "mesNum = " + count, null, null, null, null, null);

    if (rsCursor == null)
        throw new Exception("rsCursor is null");

    rsCursor.moveToFirst();

    if (rsCursor.isAfterLast()==false){
        if (lblmessageS == null)
            throw new Exception("lblmessageS is null");

        lblmessageS.setText(rsCursor.getString(0));
    }

    rsCursor.close();
 }
于 2013-03-07T15:30:56.520 に答える