SQL データベースの特定のフィールドを更新し、[戻る] ボタンを押してグリッドビュー (Level クラス) に戻ると、問題が発生します。意図は、gv アイテムに画像とテキストがあり、ユーザーが正解した場合にテキストを更新することです。
//in my custom adapter:
//...
if (mView != null) {
int correctAnswer = getItem(position).getAnswerCorrect();
if(correctAnswer == 1) { text.setText("yea"); } else { text.setText("too bad"); }
}
項目をクリックすると、Answer.java が表示されます。
if (qAnswer.equals(userAnswer)) {
Toast.makeText(getApplicationContext(), ("Answer Correct"),
Toast.LENGTH_SHORT).show();
//update database:
myDbHelper.updateAnswerCorrect((int)id, level);
} else {
Toast.makeText(getApplicationContext(), ("Wronggggg"),
Toast.LENGTH_SHORT).show();
}
奇妙なことに、メイン画面に移動して再度 Level.java を起動すると (Answer -> Level -> Main -> Level)、正しい方法で表示されます。1 画面戻ってグリッドビューに戻ると (Answer -> Level)、どうして表示されないのですか?
これを Level クラスに入れようとしましたが、うまくいかないようです:
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
myAdapter.notifyDataSetChanged();
}