widget分两个java文件,一个是主程序,一个是AppWidget的程序。我做的Android widget类似于天气预报,比如说天气预报的信息和图片半天更新一次,也支持用户随时更新。当用户打开主页面要求更新时,主页面更新后,桌面的AppWidget的图片和文字应同步更新。不知道这个“同步更新”是怎么通过代码实现的。求高人解答。

解决方案 »

  1.   

    我觉得更新可以通过公共数据来实现,比如说,将天气的信息等UI的显示参数都保存在sharedpreference里,然后activity设置也好,widget同步更新显示也好,都是去读取这个sharedpreference.xml的内容,这样就同步了,widget不用管同步,只需要读取sharedpreference的内容,是什么内容就显示什么东西,activity只负责修改数据(当然,设置如果在这里显示的话,也要读取的)。
    我是这么想的,这样比较简单,不需要broadcast。
      

  2.   

    楼主是否有解决这个问题?
    请教一个问题:在appwidget上添加重复播放ImageButton,该button有不重复播放、重复播放当前歌曲、重复播放所有歌曲,分别对于不同图片(源代码只有艺术家、专辑、播放暂停,下一首按钮)。
        在appwidget点击播放按钮后,主应用activity会相应变化过来,但在主应用上点击它的重复播放ImageButton,appwidget上的重复播放当前歌曲没有变化过来,而重复播放所有歌曲要播放到下一首歌曲才更新。不能立即更新。分别在appwidget、activity上能更新,问题是在:activity中点击了按钮,widget上相应的按钮没有马上刷新过来