wlhejj 2011-03-24 16:35
浏览 376
已采纳

不同的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 2011-03-24 17:14
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)