不同的activity之间数据同步显示问题

在MainActivity的代码:查询数据库里面的数据,以list的形式展现,我点击Menu之后向跳转到
另外的一个activity数据库中增加一条数据,我想实现的效果就是:
点击模拟器的返回键之后,这条数据也相应的会显示在MainActivity的界面上(我没有看到这样的效果)。

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.main);

    DatabaseOperate oper=new DatabaseOperate(this);
    oper.open();
    Cursor cursor=oper.queryALl(true);
    listView= getListView();
    SimpleCursorAdapter adapter=
     new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2,
       cursor, new String[]{DataBaseConstants.KEY_ID,DataBaseConstants.KEY_CONTENT}, 
       new int[]{android.R.id.text1,android.R.id.text2});
    listView.setAdapter(adapter);
}

后来我想出来了一个办法就是:在onResume里面重写上面的一段话,相当于重新查询了一次数据库,,,
我总感觉很别扭,请问一下有没有其他的办法实现我想要的这种效果。
// protected void onResume() {
// // TODO Auto-generated method stub
// super.onResume();
// DatabaseOperate oper=new DatabaseOperate(this);
// oper.open();
// Cursor cursor=oper.queryALl(true);
// SimpleCursorAdapter adapter=
// new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2,
// cursor, new String[]{DataBaseConstants.KEY_ID,DataBaseConstants.KEY_CONTENT},
// new int[]{android.R.id.text1,android.R.id.text2});
// listView.setAdapter(adapter);
// }

[code="java"][/code]

2个回答

其实我最开始也是用的你的这种方法,你这样会有一个同步问题,
在数据更新之前内容都不会显示出来
不过其实还有一种更好的方法。
Adapter.notifyDataSetChanged();
这个的具体用法你可以参考 :
http://www.pocketdigi.com/20100827/75.html

用接收短信的例子来检测数据库的变化。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐