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

Android自定义事件侦听器

洪伟兆
2023-03-14

我试图在更新整数值时激发事件,但失败了。下面是我使用的代码:

public class fieldactivity extends AppCompatActivity implements View.OnClickListener {
    OnModeUpdate modeupdate; //Create custom listener for mode update

    int mode = 1;
 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fieldsignals);
        Button button = (Button) findViewById(R.id.mode_rotate_button);
        button.setOnClickListener(this);
    }

 @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case(R.id.rotate_button):
                mode += 1;
                modeupdate.onEvent(); //Fire Custom Lisentener - Fails On This Line
        }

    }
public interface OnModeUpdate {
//BreakPoint here, but is never reached
        void onEvent();
    }

    public void setModeupdate(OnModeUpdate eventListener) {
        modeupdate = eventListener;
    }

我是不是漏掉了什么?

共有1个答案

姚永年
2023-03-14

NullPointerException是由调用空引用对象的方法引起的,这意味着该对象尚未初始化。

在您的示例中,null对象是modeUpdate。尝试在活动的oncreate()中初始化它。

modeupdate = new OnModeUpdate() {
    @Override
    public void onEvent() {
      /**
      * Write the code to handle the case
      */
    }
};
 类似资料:
  • 问题内容: 假设我想为自己的班级创建自己的事件监听器,该怎么做?我需要手动维护线程吗? 问题答案: 创建一个将由您的活动实现的接口: 现在,您需要知道事件实际发生的时间。例如,当用户触摸屏幕上的一个点时,重写onTouchEvent方法: 同样,您可以创建所需的特定事件。(示例可能是按下,等待2秒钟然后松开-您需要在touch事件中执行一些逻辑操作)。 在您的活动中,可以使用customView对

  • 问题内容: 我目前正在研究Socket.io的Java实现,可从此处获取:netty- socketio 我已经启动并运行了服务器,并且它在客户端和服务器之间很好地接收/发送消息,但是我需要让某些消息被接收时触发事件,这就是我的困惑。 这是我的代码: } 本质上,我想发生的是从客户端收到特定消息时,我需要另一个类中的函数才能运行。我花了持续两个小时阅读,,和事件处理程序,但我真的不知道如何处理此问

  • 问题内容: 我想知道是否有人可以帮助我理解如何准确地创建不同的自定义事件侦听器。 我没有事件的具体案例,但我想大致了解它是如何完成的,因此可以将其应用于需要的地方。 我想做的是,以防万一有些人可能需要知道的是: 问题答案: var evt = document.createEvent(“Event”); evt.initEvent(“myEvent”,true,true);

  • 我试图为Keycloak构建一个自定义事件侦听器,它应该使用RabbitMQ(用于事件总线实现的第三方库)来在用户注册时发布事件。 我已经从Keycloak文档中实现了这个示例。但是,当我在pom.xml中引用RabbitMQ客户端库时,当我在Keycloak管理控制台中选择自定义事件侦听器时,控制台中就会收到一个错误。错误消息表示:“未捕获的服务器错误:java.lang.noClassDefF

  • 我们定义了一个testng结果侦听器,它帮助我们将testng.xml中定义的每个测试用例的测试结果发送到一个内部工具,如下所示: } 然后我们将这个侦听器集成到其他项目的testng xml文件中,例如: 它按照设计工作:一旦测试套件完成,测试结果将上传到内部工具。 现在我们有一个要求,在一个项目中,testng.xml中的一个测试用例与内部工具中的3个测试用例相关,这意味着对于testng.x

  • 有人知道这是否可能使log4j上的侦听器从命名方法/类捕获每个日志?最后是将检索到的日志添加到JPanel中。 谢谢!