在MainActivity.java中,我希望将此处的侦听器设置为在触发StrokeEnd事件以运行代码时从写视图类进行侦听。
writeView.addWriteViewListener(new WriteViewListener() {
@Override
public void StrokeEnd() {
Toast.makeText(MainActivity.getAppContext(), "Getting strokes", Toast.LENGTH_SHORT).show();
currentstrokes = writeView.getStrokes;}
});
在WriteView.java
public void addWriteViewListener(WriteViewListener eventListener){
this.wvlistener = eventListener;
}
以及我希望StrokeEnd启动的部分WriteView.java代码。
case MotionEvent.ACTION_UP :
touchUp();
_strokes.add(_currentStroke);
_currentStroke = null;
_startPoint = null;
_endPoint = null;
/**
wvlistener = new WriteViewListener() {
@Override
public void StrokeEnd() {
Toast.makeText(MainActivity.getAppContext(), "writeview", Toast.LENGTH_SHORT).show();}
};*/
wvlistener.StrokeEnd();
invalidate();
break;
因此,当我运行该应用程序的代码时,它会在调试模式下崩溃而没有任何错误。但是,当我在注释会话未注释的情况下运行代码时,该应用程序可以成功运行且没有任何错误,但是重写方法来自于WriteView.java中声明的方法,而不是Mainactivity.java中声明的方法。我需要一种让应用程序运行MainActivity.java中声明的覆盖方法的方法