我将屏幕拆分为两半
顶部的一个用配置文件pic保存配置文件数据并且是静态的,下半部分是导航通过的片段。其中一个片段编辑了配置文件的详细信息。现在我想为自己做点事情,所以我想要的是当用户按下“更新”时,信息会立即在顶部更改。我到底怎么做当按下更新时......在场景后面,照片信息通过php到phpadmin,并且上传了一串照片路径准备好进行回溯,并且位图应该更新图像视图。 当它是一个完整的片段时,我能够用picasso更新片段上的配置文件pic,所以我知道设置工作。长话短说明如何更新共享屏幕而不是活动或片段布局的图像视图
答案 0 :(得分:1)
如果我正确理解您的问题,您希望用户与片段的交互导致更新该片段的父活动中的UI元素。
简短的回答是,尽管可能,但片段不应直接更新Activity中的UI元素。这就是人们通常所说的“缺乏关注点分离”,或者用通常的说法“意大利面条代码”。
相反,让Fragment通知Activity,配置文件图像已更改。然后活动可以处理更改ImageView的内容。
通常建议的方法是创建一对接口,Activity和Fragment通过这些接口进行通信。虽然这种方式被推荐了很多,但它可能不是最好的方法(代码很多,而且容易出错)。
我发现最简单的方法是使用消息总线(参见Otto,GreenRobot等)。 Fragment可以在总线上放置一条消息,Activity可以监听总线上的消息,并在到达时采取适当的措施。如果需要,可以在两个方向上使用它。