击中按钮后Gridview项目未更新

时间:2012-10-05 12:51:04

标签: android gridview back

当我更新SQL数据库中的某个字段然后点击后退按钮,回到我的gridview(在我的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时(答案 - > Level - > Main - > Level),它会以正确的方式显示。如果我只是将一个屏幕返回到gridview(答案 - >级别),我怎么能看到它呢?

我试着将它放在我的Level类中,但它似乎不起作用:

@Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        myAdapter.notifyDataSetChanged();
    }

1 个答案:

答案 0 :(得分:1)

您必须使用托管游标(http://www.higherpass.com/Android/Tutorials/Accessing-Data-With-Android-Cursors/3/),或者只是重新创建一个新的适配器(myAdapter = new MyAdapter(...))和调用gridview.setAdapter()并使用新的适配器你的onResume()