wlhejj
wlhejj
2011-03-24 16:35

不同的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条回答

  • springof springof 10年前

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

    点赞 评论 复制链接分享
  • iteye_2158 iteye_2158 10年前

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

    点赞 评论 复制链接分享

相关推荐