当前位置: 首页 > 面试题库 >

OnTouchListener不适用于相对布局

长孙星汉
2023-03-14
问题内容

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>

问题答案:
tv.setClickable(true);

导致您的布局,而不是触发触摸事件。尝试删除它。



 类似资料:
  • 我试图填充一个相对的布局与4卡视图在它。每个cardview由一个图像和一个文本视图组成。我将所有卡片视图包装在一个相对布局中,将相对布局包装在一个滚动视图中。不管用。如果我移除scrollview,它可以正常工作。尝试将scrollview放入相对布局中。但没有工作代码:

  • 问题内容: 我尝试从中创建对象并将文件的相对值传递给其构造函数,但是它无法正常工作并抛出 问题答案: 在一开始会使得绝对路径,而不是相对的。 尝试移除前导,因此请更换: 与: 如果仍然遇到问题,请通过检查当前目录来确保程序从您认为的位置运行:

  • 背景: 最近我一直在开发一个程序,该程序对输入数据文件(用户以完整路径或名称的形式给出,如果它位于程序创建的名为inputFiles的文件夹中)执行一些数据分析并吐出一堆输出数据文件(使用CSV)。 问题: 我遇到的问题是,当我运行时。jar在我的Windows机器上,它将创建3个文件夹(InputFiles、TempFiles和OutPutFiles),但当程序在Mac上时,GUI会启动,但不会

  • 问题内容: 这个问题不太可能帮助将来的访客。它仅与较小的地理区域,特定的时间段或格外狭窄的情况(通常不适用于Internet的全球受众)有关。要获得使该问题更广泛适用的帮助,请访问帮助中心。 7年前关闭。 我尝试从中创建对象并将文件的相对值传递给其构造函数,但是它无法正常工作并抛出 问题答案: 在一开始会使得绝对路径,而不是相对的。 尝试移除前导,因此请更换: 与: 如果仍然遇到问题,请通过检查当

  • 我不能处理230m边的图形。我克隆了Apache.Spark,构建了它,然后在Cluster上试用。 而且,收集所有的顶点和边来计算它们也不是一个好主意。这样做很容易:和

  • 我有一个springboot应用程序,当我在intellij内部运行时,它不与JSP一起工作,但当生成一个JAR时,它就不工作了。它给出了这个错误。 Whitelabel错误页面此应用程序没有 /error的显式映射,因此您将其视为后备方案。 IST 2018年5月21 00:23:11星期一出现意外错误(类型=未找到,状态=404)。没有可用的消息 JSP文件存在于src/main/resour