android - 线性布局如何同时添加OnTouchListener和OnClickListener?

标签 android layout onclicklistener ontouchlistener

如何在 LinearLayout 中同时添加事件 OnTouchListenerOnclickListener

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

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;
        }
    });

但是当我只使用 OnclickListener 时它起作用,而当我只使用 onTouch 方法时它起作用,但两者同时不起作用。

最佳答案

由于 Touch 事件更通用,它首先被调用,然后 onClick 被触发,但是,由于您的 onTouch 返回 true,事件被消耗并且 onClick 是从未达到。

只需将 onTouch 更改为 return false 即可调用您的 onClick。

关于android - 线性布局如何同时添加OnTouchListener和OnClickListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31020332/

相关文章:

java - 通过 View.OnClickListener() 传递 MainActivity 的对象

android - Android 在最终的 Android 操作系统镜像中将平台、共享、媒体和发布 key 存储在哪里

android - 配置 Cygwin 路径变量以查找 Android NDK

android - 如何在android中保存 fragment 状态?

javascript - Hbox 布局面板在调整大小事件后不会自动调整项目

jquery - 什么会导致 HTML block 元素重叠?

layout - 如何在 Plotly 子图中添加第二条轨迹的轴?

android - 单击父 View 时调用 subview onClickListener

Android onClickListener 不触发 subview

Android Maps Library V2 缩放控件自定义位置