无法解析符号setOnTouchListener

时间:2015-05-28 15:44:54

标签: java android ontouchlistener

我想设置仅在触摸播放器对象时发生的触摸事件。但为什么我的播放器类仍然无法使用nextElement()方法?我把它放在一个扩展SurfaceView并实现SurfaceHolder.Callback的主类中,它表示无法解析

上的符号
NoSuchElementException

我的播放器类扩展了GameObject(它只是一个包含对象属性的抽象类)并实现了View.OnTouchListener。 我也在播放器类本身中覆盖了该方法。

setOnTouchListener

有什么想法吗?感谢。

编辑:

player.setOnTouchListener(new View.OnTouchListener){
        public boolean onTouch(View v, MotionEvent event) {
            return true;
        }
    }; 

2 个答案:

答案 0 :(得分:1)

正如你所说,player的类实现了View.OnTouchListener。显然,class View.OnTouchListener没有方法setOnTouchListener()

你应该检查你的意图。您是否希望player实施View?或者您想要实际设置OnTouchListener

由于您的“主要课程”延伸SurfaceView,因此您可能需要

setOnTouchListener(player);

player设置为“主类”实例的OnTouchListener,该实例也是SurfaceView,因此是View

要定义player.onTouch(),您应该在类Player中定义它,如:

class Player implements View.OnTouchListener // extends GameObject ?
{
    // ...
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        return true;
    }
}

答案 1 :(得分:0)

试试这个

    OnTouchListener X_ol = new OnTouchListener() {
   @Override

    public boolean onTouch(View p_v, MotionEvent p_event) {

       if (event.getAction() == MotionEvent.ACTION_DOWN ) {
        //Insert desired code here
        return true;
    }
    return false;
    }
};

player.setOnTouchListener(X_ol);

 }