无法覆盖主活动中的自定义侦听器

时间:2018-09-25 03:17:38

标签: java override listener event-listener

在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中声明的覆盖方法的方法

0 个答案:

没有答案