gpt4 book ai didi

java - Android 自定义事件监听器

转载 作者:太空宇宙 更新时间:2023-11-04 12:09:52 25 4
gpt4 key购买 nike

我试图在更新整数值时触发一个事件,但失败了。这是我正在使用的代码:

声明自定义监听器

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
}

}

接口(interface)代码

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

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

我收到的错误是:

java.lang.NullPointerException: Attempt to invoke interface method 'void alveare.com.plcsignalconverter.fieldactivity$OnModeUpdate.onEvent()' on a null object reference

我有什么遗漏吗?

最佳答案

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

在您的例子中,空对象是modeUpdate。尝试在 Activity 的 onCreate() 中初始化它。

modeupdate = new OnModeUpdate() {
@Override
public void onEvent() {
/**
* Write the code to handle the case
*/
}
};

关于java - Android 自定义事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39948709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com