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