当前位置: 首页 > 知识库问答 >
问题:

如何在活动之外管理socket.io监听器

姜淇
2023-03-14

目前,我在一个公共类中的事件上初始化socket..。

然而,由于这个“套接字”类是在应用程序启动时初始化的,所以在不同的活动之外,我不能直接从那里操作我的视图。

我希望避免在活动中编写我的监听器,因为有些接收者对他们来说是共同的(例如身份验证部分,在整个应用程序中都有效)。

    null

亚历克斯

共有1个答案

高自怡
2023-03-14

我会这样做:

1-制作接口:

public interface OnSocketListener {
    void method(); //add some methods to comunicate between your class and your activities
}

2-让你的听者从你的班上打电话过来:

public class SocketClass {
    private OnSockectListener mListener;
    public void setListener(OnSockectListener listener) {
        mListener = listener;
    }

   private void someEvent() {
       if (mListener != nul) {
           mListener.onSomeEvent(Data data);
       }
   }
}
public abstract class BaseActivity extends ActionBarActivity implements OnSocketListener {
    public void commonMethod() {
        //Some Implementation that it's common to all
    }
}
public class SomeActivity extends BaseActivity {
    //implements all the others methods
}
public class SocketClass {
        private OnSockectListener mListener;
        private static SockectClass mInstance;

        private SocketClass() {
        }

        public SockectClass getInstance() {
            if (mInstance == null) {
                mInstance = new SockectClass();
            }
            return mInstance;
        }

        public void setListener(OnSockectListener listener) {
            mListener = listener;
        }

       private void someEvent() {
           if (mListener != nul) {
               mListener.onSomeEvent(Data data);
           }
       }
    }
 类似资料:
  • 在iOS中,当视图控制器消失时删除监听器是一个很好的做法。那么在Android世界也是这样吗?是否应该删除活动的中的所有侦听器

  • 导航条示例 滚动监听插件会根据滚动的位置,自动更新导航条的目标。滚动在导航条下面的区域,查看active类的改变。弹出菜单的子项也同样会被高亮。 用法 需要Bootstrap导航条 Scrollspy currently requires the use of a Bootstrap nav component for proper highlighting of active links. 滚动

  • 滚动监听是一个 jQuery 插件,用于追踪某一确定元素并且元素目前处于用户屏幕的焦点。我们的示例在每个文档页的右边。单击这些链接将滚动到页面元素的位置。 表格内容的结构 <div class="row"> <div class="col s12 m9 l10"> <div id="introduction" class="section scrollspy"> <p>内容 </p>

  • 问题内容: 我知道必须在引导程序中手动管理活动类。我已经用jQuery完成了几次。 我最新的项目与react反应。 我知道我不应该在使用react时使用jQuery在dom中设置类。但是,如何正确地做到这一点呢? 问题答案: 您只需要在函数中指定选项卡的值即可。要知道选项卡是否应具有该属性的值,是将其存储在某处。 您如何将某些内容存储在react组件中?您使用。您没有显示任何代码,但是可以简单地跟

  • 我正在处理一些奇怪的遗留代码。他们有一个实现JPanel的自定义对象。这个< code>JPanel对象是主应用程序中的第二个弹出屏幕。我遇到的问题是检测辅助弹出屏幕何时关闭。 我尝试为该类实现一个,但是当我尝试添加它时,没有与此对象关联的。我假设这是因为他们正在使用一个自定义对象,它是一个嵌入式弹出屏幕。 我尝试使用以下命令检索: 这在上失败。我不知道为什么在这个页面上检测右上角的“x”关闭按钮