簡體   English   中英

未調用TouchListener onTouchEvent

[英]TouchListener onTouchEvent not called

我有一個自定義視圖,我將其添加到相對布局並將觸摸監聽器僅添加到該自定義視圖中。問題是未調用onTouchevent.Plz幫助從我的實際代碼中獲取示例代碼::

ViewGroup base = (ViewGroup)findViewById(R.id.base); //relative layout
base.addView(move);
move.setOnTouchListener(touchListener);
OnTouchListener touchListener = new OnTouchListener() {

        public boolean onTouch(View v, MotionEvent event) {
            Log.d("onTouch v","="+v);
            if(v instanceof MovingView) {
                return false;
            }
            else 
                return true;
        }


    public boolean onTouchEvent(MotionEvent event) {
        int x = (int)event.getX();
            int y = (int)event.getY();


}
};// close listener

首先 ,您需要在初始化監聽器之前對其進行設置(它為null)。 嘗試這個:

ViewGroup base = (ViewGroup)findViewById(R.id.base); //relative layout
base.addView(move);

OnTouchListener touchListener = new OnTouchListener() {

        public boolean onTouch(View v, MotionEvent event) {
            Log.d("onTouch v","="+v);
            if(v instanceof MovingView) {
                return false;
            }
            else 
                return true;
        }


    public boolean onTouchEvent(MotionEvent event) {
        int x = (int)event.getX();
            int y = (int)event.getY();


}
};// close listener

move.setOnTouchListener(touchListener);

其次,請注意:

“當觸摸屏事件未由其下的任何視圖處理時,將調用onTouchEvent()方法。”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM