如何在线性布局中一次添加OnTouchListener和OnClickListener?

Mos*_*lah 4 layout android ontouchlistener onclicklistener

我如何添加一个事件OnTouchListener,并OnclickListener在一段时间LinearLayout

这是我的代码,但不起作用

final LinearLayout llTimeTable=(LinearLayout) findViewById(R.id.llSehriIftar);
    llTimeTable.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            Intent intent = new Intent(MainActivity.this, Ramadandate.class);
            startActivity(intent);

        }
    });
    llTimeTable.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {

            switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:

            llTimeTable.setBackgroundColor(Color.rgb(51, 51, 255));
                break;

            case MotionEvent.ACTION_UP:

                // set color back to default
                llTimeTable.setBackgroundColor(Color.rgb(76, 106, 225));

                break;
            }
            return true;
        }
    });
Run Code Online (Sandbox Code Playgroud)

但是,当我只使用OnclickListener它工作时,当我只使用它的onTouch方法时,它可以工作,但两者同时不起作用.

Ant*_*kki 8

由于触摸事件更通用,它首先被调用,然后onClick被触发,但是,因为你的onTouch返回true,所以事件被消耗并且onClick永远不会被触及.

只需更改onTouchreturn false,即可调用onClick.