每次我想让我的片段调用它是onStart()或onResume()时,我会做下一个:
getFragmentManager().beginTransaction().replace(R.id.containero1, new Massenger_frag(conversationID)).addToBackStack(null).commit();
这对性能是否有益,是否有另一种方法告诉片段新信息到达,并且必须刷新其UI。
答案 0 :(得分:1)
您可以保留对更换片段时使用的“Massenger_frag”对象的引用。您还可以在“Massenger_frag”类中定义方法“refresh”,并从该实例变量中调用它。片段中的onStart()/ onResume()也会调用相同的刷新方法以避免代码重复。
您目前正在做的事情并不快,并且每次构建新片段并且旧片段被解除分配时会增加很大的开销。
答案 1 :(得分:1)
解决方案很简单:我只使用BroadCast发送方和接收方,并将活动A的信息发送到活动B,活动B在其onReceive()中调用一个刷新其内容的函数!
答案 2 :(得分:0)