Android从片段调用片段方法
我有4个片段,我正在尝试单击FragmentA上的一个按钮,调用一个方法来更改FragmentB上某些视图的可见性并填充它 我尝试了一个接口,但似乎无法在两个片段之间工作。如果我在活动中实现接口方法,我可以从片段中调用接口方法,但我不能在片段中实现它并在片段中调用它Android从片段调用片段方法,android,android-fragments,Android,Android Fragments,我有4个片段,我正在尝试单击FragmentA上的一个按钮,调用一个方法来更改FragmentB上某些视图的可见性并填充它 我尝试了一个接口,但似乎无法在两个片段之间工作。如果我在活动中实现接口方法,我可以从片段中调用接口方法,但我不能在片段中实现它并在片段中调用它 有没有其他方法可以做到这一点?我认为我不能使用static关键字。我建议您可以使用广播接收器,它可以在任何地方执行操作,并且易于使用。 在第一个片段中,您可以定义接收者,从另一个片段中,您可以发送广播或动作 下面是一个例子 在要更新
有没有其他方法可以做到这一点?我认为我不能使用static关键字。我建议您可以使用广播接收器,它可以在任何地方执行操作,并且易于使用。 在第一个片段中,您可以定义接收者,从另一个片段中,您可以发送广播或动作 下面是一个例子 在要更新视图的第一个片段中编写以下代码
private void registerReciver() {
broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent != null && intent.getAction().equals("UPDATE_FRAG_A")) {
// here you can fire your action which you want also get data from intent
}
}
};
IntentFilter intentFilter = new IntentFilter("UPDATE_FRAG_A");
getActivity().registerReceiver(broadcastReceiver, intentFilter);
}
在你的第二个片段中写下下面的开火代码
Intent intent=new Intent();
// Here you can also put data on intent
intent.setAction("UPDATE_FRAG_A");
getActivity().sendBroadcast(intent);
假设所有片段都在同一个活动中
有关更多信息,请参见您可以使用共享首选项存储数据,并根据您的片段进行更改活动实现接口并调用片段的相应方法,请显示代码您能给出一个示例吗?我无法让它从一个片段工作到另一个片段。我可以对片段进行活动,反之亦然,但不能对片段进行活动。是否有好的指南或教程可以让我参考。它们看起来很复杂。我觉得我做错了这一切,因为我需要从我的片段中操纵视图,如果我的活动可以访问它们,这将很简单。我更新了我的答案,请现在检查,请不要错过在第一个片段中注销广播接收器。