当我更新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();
}
答案 0 :(得分:1)
您必须使用托管游标(http://www.higherpass.com/Android/Tutorials/Accessing-Data-With-Android-Cursors/3/),或者只是重新创建一个新的适配器(myAdapter = new MyAdapter(...))和调用gridview.setAdapter()并使用新的适配器你的onResume()