阻止 ScrollView 将焦点设置在 EditText 上

2024-02-25

Android 的 ScrollView(当滚动或滑动时)喜欢在 EditText 是其子级之一时设置其焦点。当您滚动然后释放时会发生这种情况。有什么办法可以阻止这种行为吗?我几乎尝试了所有我能想到的以及我在 StackOverflow 上读到的所有内容。没有什么对我有用。如果您想测试一下,下面是一个示例布局。我非常想阻止这种愚蠢的行为。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>

<ScrollView 
    android:id="@+id/scrollView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

<LinearLayout 
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginRight="50dp"
    android:focusable="true"
    android:focusableInTouchMode="true"
    >

    <EditText 
        android:layout_width="fill_parent" 
        android:layout_height="100dp" 
        android:text="TestApp 1"
        />


    <Button 
        android:id="@+id/btn"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="TestApp 1"
        />

    <Button 
        android:id="@+id/btn"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="TestApp 1"
        />

    <Button 
        android:id="@+id/btn"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="TestApp 1"
        />

    <EditText 
        android:layout_width="fill_parent" 
        android:layout_height="100dp" 
        android:text="Bleh...."
        />

    <Button 
        android:id="@+id/btn"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="TestApp 1"
        />
    <EditText 
        android:layout_width="fill_parent" 
        android:layout_height="100dp" 
        android:text="TestApp 1"
        />


    <Button 
        android:id="@+id/btn"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="TestApp 1"
        />

    <Button 
        android:id="@+id/btn"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="MeeEEEEEEEEEEEEE"
        />

    <Button 
        android:id="@+id/btn"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="TestApp 1"
        />



</LinearLayout>
</ScrollView>

</LinearLayout>

这有效。不确定这是否是最好的解决方案。

// SCROLL VIEW HACK
    // BOGUS
    ScrollView view = (ScrollView)findViewById(R.id.scrollView);
    view.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
    view.setFocusable(true);
    view.setFocusableInTouchMode(true);
    view.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            v.requestFocusFromTouch();
            return false;
        }
    });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阻止 ScrollView 将焦点设置在 EditText 上 的相关文章

  • Android NDK 中使用“dynamic_cast”时出现“UnsatisfiedLinkError”

    我是 Android 开发新手 我面临下一个问题 当我使用 C 代码时 动态演员 表达方式 不满意的链接错误 当我在模拟器上启动应用程序时出现 但是当我在没有它的情况下运行应用程序时 一切正常 我的意思是 LogCat 没有任何错误 我尝试
  • 强制用户在 Android 中的 EditText 中输入内容

    我的活动中有几个编辑文本 我希望我的用户在提交表单之前正确输入 我该怎么做 我还有旋转器和 RadioGroup 按钮 你可以加验证在提交按钮上单击 private boolean validateFields int yourDesire
  • 使用 android AudioTrack 在左或右扬声器中播放声音

    我正在应用程序中的 AudioTrack 的帮助下播放声音 但我想在特定扬声器 耳朵中播放声音 即左扬声器或右扬声器或两个扬声器 以下代码是我用来播放声音的 private AudioTrack generateTone double fr
  • 安卓无法玩ogg

    有人知道这是什么意思吗 ogg使用phonegap is Media播放 它使用MediaPlayer 05 26 15 41 50 007 1160 3631 E AudioFlinger no more track names avai
  • android webview 函数 onPagefinished 被调用两次

    我的android webview功能onPageFinished被调用两次 我不知道为什么 但它在 android 2 2 上运行良好 但当我将其升级到 4 时 它就不起作用了 代码附在下面 Code Override public vo
  • ProGuard 无法与 Windows 中使用的 Joda Time 一起编译

    实际上 这是一个答案 而不是一个问题 我确实在 Windows 上花了很多时间 使用 JodaTime 并使用 ProGuard 将其包含在我的 Android 项目中 混淆器配置 libraryjars C Users Reto Docu
  • 毕加索动画加载图像

    我有以下代码在毕加索中加载图像 使用可绘制的占位符在图像下载时显示 不过 我想要的是一个动画旋转进度条样式的旋转器 它可以在图像加载时不断地旋转 就像我在大多数专业应用程序中看到的那样 毕加索似乎不支持这一点 只支持静态图像可绘制 有没有办
  • 在 Android 中长按时从操作模式中删除后退/主页按钮

    我已经在里面长按实现了上下文操作模式recycler view 为此我打电话给ActionModeCallback从创建动作模式开始 创建动作模式时 默认显示后退箭头 检查如下 单击后退箭头 操作模式将关闭 现在我想要hide or rem
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • 应用内结算错误

    我的 UNMANAGED 应用内购买无法正常工作 在它完美运行之前 我可以使用测试帐户成功购买 但它突然不起作用了 因为我记得我对商家帐户所做的只是添加更多 2 4 个测试帐户 添加后 我的应用内购买将不起作用 所以我更新了公钥并上传了一个
  • Firebase ANR - 甚至不使用 firebase

    随着 GMS 的最新更新 引入了新的 ANR 如果您退出应用程序 然后返回 则 ANR 就会初始化 线程跟踪似乎指向 Firebase 但我什至从未开始使用 Firebase 我猜它一定是新的 GMS 包的一部分 06 11 00 34 0
  • 导航抽屉默认片段

    我是一名新手开发人员 我正在将导航抽屉与 android support v7 集成到我的应用程序中 我有一个问题 当我启动应用程序时 主要布局是这样的
  • 在 Jetpack Compose 中跨可组合函数重复使用一组预览注释

    在 Jetpack Compose 中迈出第一步 这非常令人惊奇 除了一个恼人的问题 我有一组固定的预览 正常 深色和 RTL Preview name Normal group Screen showBackground true Pre
  • onClick 未在带有子项的 LinearLayout 上触发

    我有一个自定义的 LinearLayout 和一个较小的 TextView 子级 我希望能够单击 TextView 未覆盖的区域 因此我将 clickable true 和 onclicklistener 设置为 LinearLayout
  • BottomSheetDialog get Behavour 始终返回 null

    我与底部表单对话框我必须获得行为才能设置setBottomSheetCallback 来处理一些事情 As 谷歌说 https android developers googleblog com 2016 02 android suppor
  • 在为 Android 实现 Google 登录时,任务“:app:transformClassesWithDexForDebug”执行失败

    我正在尝试为 Android 实现 Google 登录 并且我正在按照以下说明进行操作 https developers google com identity sign in android start integrating https
  • NoClassDefFoundError:无法解析:Landroid/support/v7/appcompat/R$styleable

    新手尝试完成 Google 提供的我的第一个应用程序教程 在这个致命异常的过程中 我确实导入了很多随机包来消除许多事情的 无法解析 错误 例如 ActionBarActivity EditText Fragment LayoutInflat
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • Android 自定义警报对话框中的 OnClickListener

    我是一个自学成才的初学者 感谢耐心 谢谢 在 Eclipse 中 我使用自己的 xml 文件 custom dialog 创建了一个自定义警报对话框 称为 usernamealert 如果用户尚未输入用户名 即 username lengt
  • 当ScrollView滚动到底部时加载更多数据

    我有一个带有动态加载内容的滚动视图 有时可能会有很多内容 所以我想在用户滚动到底部时加载更多内容 我搜索了合适的方法 发现了两种 onScrollChanged and getScrollY 但我不知道如何将它用于我的目的 请给我一些建议

随机推荐

  • setContentView 需要很长时间(10-15 秒)执行

    我有一个包含 100 个或更多按钮的大型活动 但加载后就可以正常工作了 然而问题是加载 从单击其启动图标到获得第一个视图需要 10 12 秒 直到第一次查看时 它显示黑色背景的灰色标题栏 至少 我想在加载时显示一个简单的进度条或对话框 但在
  • 箭头不适用于输入类型=“数字”

    我用了一个简单的html
  • 在 Zend Framework 2 中扩展 Zend\View\Helper\Url

    我写了一个简单的 url 视图助手 它扩展了Zend View Helper Url并将其附加到ViewHelperManager MyNamespace View Helper Url namespace MyNamespace View
  • 如何在 django 2.0 中的 url 中有选项

    在 Django 1 中 我曾经有这样的 url 选择 url meeting P
  • Vue Ag-grid 一次隐藏/取消隐藏所有列

    我试图在父组件的数据更改时隐藏和取消隐藏 ag grid 中的所有列 这是我的子组件
  • MS SQL 相当于查询中的 MySQL 用户定义变量

    在 MySQL 中 如果您想报告一个公式 然后在另一个公式中使用该结果 您可以执行类似于以下操作 SELECT var1 column1 column2 AS var1 POWER var1 2 AS var2squared FROM da
  • 在 XAML 中将布尔值返回 null 到复选框状态转换器

    我有一个 TaskStatus 到布尔转换器 它在 Windows 应用商店应用程序 通用应用程序 的 XAML 中实现 IValueConverter 接口 我有三个任务状态 并使用 IsThreeState true 在复选框中启用了不
  • 如何在 lambda 本身中获取 C++ lambda 函数的地址?

    我试图弄清楚如何获取 lambda 函数本身的地址 这是示例代码 std cout lt lt Address of this lambda function is gt lt lt 我知道我可以捕获变量中的 lambda 并打印地址 但我
  • 如何在通知区域显示进度条?

    你好 我正在做一个 Android 应用程序 在其中我将视频上传到 PHP 服务器 我在用HTTPURLConnection进行上传 我陷入了在通知区域显示进度条并更新它的困境 我搜索了近一周的时间来做到这一点 但找不到提示 如果有人知道
  • 修复 WCF 4.0 REST 的 XmlDictionaryReaderQuotas 最大长度配额 [已关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果 POST 正文长度超过 819
  • Safari 在重定向/表单提交时暂停所有动画

    我有一个点击链接时触发的动画 这是一个放大 div 然后淡出的 jQuery 动画 为了确保速度 在单击链接的同时 会触发重定向 这是必须发生的 我不能将重定向放在 jQuery 的 animate 的成功函数中 此重定向是通过表单提交完成
  • Django manage.py runserver 抛出 ImportError: AdminMediaHandler

    问题 当我跑步时python manage py runserver我收到错误ImportError cannot import name AdminMediaHandler ex venv agconti agconti Inspiron
  • 在远程节点上的 ssh 命令中使用 SED

    我编写了一个脚本来 ssh 到某些节点并运行sed节点内的命令 脚本看起来像 NODES compute 0 3 for i in NODES do echo i ssh i sed i s 172 16 48 70 172 20 54 1
  • Spark from_json 也不例外

    我正在使用 Spark 2 1 scala 2 11 我想将具有定义模式的 json 格式字符串从一个数据帧加载到另一个数据帧中 我尝试了一些解决方案 但最便宜的是标准列函数 from json 我尝试了一个例子 https jacekla
  • AWS Lambda 处理来自 DynamoDB 的流

    我正在尝试创建一个消耗 dynamoDB 表中的流的 lambda 函数 但是我想知道处理在执行过程中可能因某些错误而未处理的数据的最佳实践是什么 例如 我的 lambda 失败并且丢失了部分流 这是重新处理丢失数据的最佳方法 这是为你处理
  • Ruby 中的波形可视化

    我即将启动一个记录和编辑音频文件的项目 并且我正在寻找一个好的库 最好是 Ruby 但会考虑 Java 或 NET 以外的任何库 来实现波形的动态可视化 有谁知道我应该从哪里开始搜索 有大量数据要流入浏览器 Flash 或 Flex 图表可
  • 有没有办法转换客户 ID 及其最近的订单日期?

    我有一个查询 它为我提供了所有客户及其最后三个订单日期 EX CustomerId DateOrdered 167 2006 09 16 01 25 38 060 167 2006 09 21 13 11 53 530 171 2006 0
  • 默认按钮大小?

    如何创建按钮控件 使用CreateWindow of a BUTTON窗口类 是否具有与其他 Windows 应用程序一致的标准系统范围尺寸 尤其是高度 我当然应该考虑 DPI 和可能的其他设置 Remark Using USE CW DE
  • Gitolite 3 - 设置仓库描述(未授权)

    我正在使用 Gitolite 3 6 ssh git host info hello you this is got Git running gitolite3 v3 6 1 6 gdc8b590 on git 1 7 10 4 R W m
  • 阻止 ScrollView 将焦点设置在 EditText 上

    Android 的 ScrollView 当滚动或滑动时 喜欢在 EditText 是其子级之一时设置其焦点 当您滚动然后释放时会发生这种情况 有什么办法可以阻止这种行为吗 我几乎尝试了所有我能想到的以及我在 StackOverflow 上