0

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();
    }
4

1 に答える 1

1

管理カーソル(http://www.higherpass.com/Android/Tutorials/Accessing-Data-With-Android-Cursors/3/)を使用するか、新しいアダプターを再作成する必要があります(myAdapter = new MyAdapter( ...))そして、onResume()で新しいものを使用してgridview.setAdapter()を呼び出します

于 2012-10-05T12:54:33.133 に答える