我有一个RelativeLayout,在其中我动态添加了许多TextViews。我面临的问题是,每当我对TextViews分别应用onTouch监听器时,它都会检测到触摸,但是当我向相对布局中添加触摸时,它永远不会响应。

这段代码可以很好地检测触摸事件:

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" >

        <RelativeLayou
            android:id="@+id/wordsRelativeLayout"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:focusable="true"
            android:focusableInTouchMode="true" >

        </RelativeLayout>

    </ScrollView>
    .
    .
    .
</RelativeLayout>

最佳答案

在myRelativeLayout.xml中添加:

android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"

10-02 16:54