LiDaming_and 2013-05-30 08:58 采纳率: 100%
浏览 5396
已采纳

OnTouchListener 不能使用 relative layout

我在一个RelativeLayout中动态的添加了很多TextViews。我现在面临的问题是:

不论什么时候当我单独申请一个 onTouch 监听器到TextViews,当我添加touch事件到relative layout时它能检测到touch 事件,但是没有回应。

检测touch事件代码:

TextView tv = new TextView(this);
tv.setText(values[i]);
Drawable d = getResources().getDrawable(R.drawable.level_small_corners);

tv.setClickable(true);
tv.setId(i+1);
tv.setTextSize(18);
tv.setOnTouchListener(cellTouch);

但是我在 myRelativeLayout 添加所有的 TextViews

myRelativeLayout.setOnTouchListener(cellTouch);

现在 onTouchListener 也不能调用,为什么?

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@android:color/black"
    >
    .
    .
    .

    <ScrollView 
             android:layout_width="fill_parent" 
             android:layout_height="wrap_content"
             android:layout_below="@+id/levelFirstLayout"
             android:layout_marginBottom="70dp"
             > 
        <RelativeLayout  
             android:id="@+id/wordsRelativeLayout"
             android:layout_width="fill_parent" 
             android:clickable="true"   
             android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
            >
        </RelativeLayout>
        </ScrollView> 
    .
    .
    .
        </RelativeLayout>
  • 写回答

3条回答 默认 最新

  • hcg_21 2013-05-31 09:40
    关注

    问题出在 tv.setClickable(true);,删除这条语句。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作