在使用可变效率的解决方法之后,我看到了这个精彩的视频,它让我了解了如何在 fragment 之间进行通信。 https://www.youtube.com/watch?v=VyyGP_d0Ia8 (查看5.00左右,这是主要思想)
这个想法对我来说非常优雅,我想知道是否可以使用这种接口(interface)方法在广播接收器和我的主要 Activity 之间传递数据。
为了使我的问题更加具体,让我解释一下到目前为止我所了解的内容。
我有一个具有 UpdateGUI()
函数的 MainActivity
。由于我无法将其声明为静态,因为它采用非静态 findviewbyId()
方法,因此我实现了一个通信器接口(interface),每当我更改其他 fragment 中的某些内容时,一条消息就会传递到我的 MainActivity
中实现的响应方法,该方法只需调用 UpdateGUI()
。
我认为可以从广播接收器调用我的 MainActivity 的 respond() 方法。我的问题在于,当我想从 Fragment 执行此操作时,由于 OnAttach
方法,我可以将其与 MainActivity
关联起来。
据我所知,BroadcastReceiver 没有 onAttach 方法,这就是我的问题。如何将广播接收器与我的 mainActivity 关联起来?
最佳答案
答案在于您可以在任何网站上找到的基本服务教程之一。这就是为什么您应该在将其发布到此处之前先在互联网上进行搜索(看看您是否获得了反对票)。
How do I associate the Broadcast receiver with my mainActivity
在 Mainactivity 中创建广播接收器的子类,并在 onReceive() 方法中完成工作:
public class MainActivity extends FragmentActivity{
// your MainActivity Code
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// do your stuff here
}
} // MyReceiver
} // MainActivity
关于java - 用于MainActivity和广播接收器之间通信的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35621161/