我有一个tabHost,它包含4个片段。当tabHost活动被创建时,它会创建并包含片段。如何强制片段重新创建其视图?这意味着重新运行on createView。
编辑:我的第一个片段使用了一个Web服务并更新了父活动中的一个字段。该字段由我的第二个片段读取。但是当活动被实例化时,该字段在父活动是空的。所以这就是我问我问题的原因。我希望在更新字段后重新绘制第二个片段。希望我现在很清楚。谢谢你的时间。
答案 0 :(得分:0)
您需要做的是使用Observer(或监听器)设计模式。基本上你要做的是创建这样的界面(这只是一个例子)
interface DataListener {
void dataHasArrived(Object data);
}
你的第二个片段(显示数据的片段)应该实现这个(参数中的对象是你想要呈现的数据)。获取数据的片段应该具有对它的引用(包含第一个片段的DataListener类型的字段,您可以在父活动中设置它)。当数据可用时,您只需从第一个片段调用方法,数据作为参数,第二个片段中的实现完成其余的工作。