0
私のjsonをonClick in adapterを使ってデータベースに保存します。取得するための は、jsonの行がデータベースに存在するかどうか、またはそのためにヘルパーメソッドが必要です。これは私の方法ですが、仕事ではありません。知っているためのヘルパーメソッドは、json行がデータベースに存在するかどうかですか?
私はQuestionDatabaseAdapter
public Boolean isQuestionFavorite(String rawQuestionid) {
SQLiteDatabase database = null;
Cursor c = null;
try {
c = database.rawQuery("SELECT question_id FROM tbl_questions WHERE question_id = ' " + rawQuestionid + " ' ", null);
Log.i("CURSOR VALUE ",c.toString());
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (database != null && database.isOpen()) {
database.close();
}
}
if (c != null) {
if (c.moveToFirst()) {
return true;
}
}
return false;
}
でこのメソッドを記述し、行がdatabseに存在する場合、私はチェックこれらの作品を行います。 (リサイクラー OnBindViewHolderで)
///========================== FAVORITE CHECKING ========================
boolean isFavorite = questionDatabaseAdapter.isQuestionFavorite(questionha.get(position).getQuestionId());
if(isFavorite){
holder.imgAddFav.setImageResource(R.drawable.ic_favorite_red_700_24dp);
}else {
holder.imgAddFav.setImageResource(R.drawable.ic_favorite_border_red_a700_24dp);
}
しかし、私はこのエラーを取得:
java.lang.NullPointerException: Attempt to invoke interface method 'boolean android.database.Cursor.moveToFirst()' on a null object reference
私はこの仕事のための私の解決策(私の平均的なヘルパーメソッドとアダプタのチェックイン)ですが、私は文を返すべきだと言っていますが、内部メソッドの返り値です。 –
一見するとうまくいくはずです。 – Egor
と私は声明を返すべきだと言っていますが、内側のメソッド –