アダプタクラスでボタンをクリックしたときに2つのクエリを実行したいときは、最初にテーブルAからデータを選択してテーブルBに挿入し、もう1つはテーブルAに挿入します。削除クエリを実行しようとするとエラーが発生します
アダプタ
mdb = new MyDatabaseHelper(v.getContext());
database = mdb.getReadableDatabase();
deleteTask = new DeleteTask();
Cursor cursor = database.rawQuery("SELECT * FROM " + MyDatabaseHelper.TABLE__TASK + " WHERE ID = ? ", new String[]{id+""}, null);
if (cursor != null && cursor.getCount() > 0) {
while (cursor.moveToNext()) {
String allTask = cursor.getString(cursor.getColumnIndex("Title"));
String name = cursor.getString(cursor.getColumnIndex("Name"));
String allTime = cursor.getString(cursor.getColumnIndex("Time"));
String allDate = cursor.getString(cursor.getColumnIndex("Date"));
insertDataToCompleteTab(id, name, allTask, allTime, allDate); //insert to Completed table
deleteTask.deleteData(id); // delete the row of data from Task Table
}
}
DeleteTask
public void deleteData(int id)
{
database = mdb.getWritableDatabase();
database.delete(MyDatabaseHelper.TABLE__TASK, MyDatabaseHelper.ID1 + "=" + id,null);
database.close();
}
エラー
java.lang.NullPointerException
at com.example.seng.healthyapp.DeleteTask.deleteData(DeleteTask.java:124)
at com.example.seng.healthyapp.adapter.AllAdapter$1.onClick(AllAdapter.java:139)
at android.view.View.performClick(View.java:4230)
deleteTaskメソッドを指すエラー。しかし、私はそれらを初期化しました、なぜ私はまだそのようなエラーを取得しますか?
@ 0xDEADC0DEこのエラーが発生したために、それは重複していると言います。私はこの記事を十分に読んでいますが、まだ解決できません。 – Tony
NPEが何であるかを説明する質問の重複がどのように解決されているか、どのように修正するのか分かりません。あなたは明らかにあなた自身のコードにNPEを持っていて、それはデバッグ時に簡単に解決されます。 – 0xDEADC0DE
番号124の行だけがわかります。 –