我有一个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"