java - 用于MainActivity和广播接收器之间通信的接口(interface)

标签 java android android-fragments android-intent

在使用可变效率的解决方法之后,我看到了这个精彩的视频,它让我了解了如何在 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/

相关文章:

java - Spring Boot 实体的自定义自动配置

java - Android处理程序,不在ui线程中执行post()

android - Android默认浏览器中文本字段的背景颜色在单击时发生变化

android - 可绘制到android中的数据url

android - 何时在 View 上使用 fragment ?

android - fragment 分离/重新连接与显示/隐藏

java - android studio 局部变量冗余

java - 每个屏幕方向的文本大小不同?

java - 这两个例子中哪一个是更好的代码设计?

java - 由 : org. flywaydb.core.api.FlywayException : Validate failed. 迁移校验和不匹配导致迁移 2