简明 :我正在寻找一种方法来从活动包含的片段更新活动中的视图。
详细 :我有一个片段和一个包含该片段的活动。活动具有导航抽屉,导航抽屉包含图像视图。我正在尝试的是当HTTP GET请求从片段返回响应时更新导航抽屉中的图像视图;响应包含一个URL,指向图像加载器为导航抽屉中的图像视图解析图像的位置。
鉴于此,我试图从片段中获取活动中的视图实例,但我不知道该怎么做。即便如此,我也不确定自己是否朝着正确的方向前进......
我将非常感谢任何意见。
此致
答案 0 :(得分:6)
创建界面:
public interface mInterface{
public void updateIMG(String url);
}
在您的活动中实施此界面并覆盖updateIMG()
方法。
在你的片段中你需要调用updateIMG()
只需启动接口并调用方法。
mInterface listener = (mInterface)getActivity();
listener.updateIMG(url);
然后你调用这个接口方法,它将在活动内部的覆盖方法中运行代码。
如果您获得只有创建视图层次结构的原始线程才能触及其视图。,try。
答案 1 :(得分:0)
Declare view as public which you want to update and then you can access that view from the fragment and can update from there
答案 2 :(得分:0)
您可以使用LocalBroadCast
在需要时从Fragment
发送广播,然后在Activity
接收广播并进行更改。
您还可以通过Activity
实施Fragment
,interface
通讯。请参阅此link以实现相同的目标。