以编程方式滚动 EditText

2023-11-23

我正在编写一个简单的凯撒加密活动。屏幕上有两个 EditText,一个是明文,一个是加密的。下面是加密 EditText 的一个示例 - 明文文本与之类似。

<EditText 
    android:layout_below="@id/Caesar_Label_CryptText"
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent"
    android:id="@+id/Caesar_Text_CryptText" 
    android:hint="Enter crypted text"
    android:maxLines="2" 
    android:lines="2" 
    android:minLines="2"
    android:inputType="text|textMultiLine|textVisiblePassword"
    android:scrollbars="vertical" 
    android:gravity="top" />

现在,当输入明文时,我有一个 TextChangedListener 正在运行,它以编程方式加密并填充该加密 EditText。到目前为止,一切都很好。

当输入的明文变得非常长时,明文-EditText 会随着我的输入而滚动,但加密-EditText 会保留在文本的顶部。我真的很希望 crypto-EditText 能够滚动,以便它始终显示其内容的底线。

如何做到这一点,最好是通过 TextWatcher 的 onTextChanged() 方法?


好的,找到了。它是光标(在 EditText 和 TextView 上称为“选择”)。

这就是我让它工作的方式:

ivClear    // assigned the EditText that has the input
ivCrypt    // assigned the target EditText, that I want to scroll
aText      // the input from ivClear, crypted

然后使用:

    ivCrypt.setText(aText);                               // assign the Text
    ivCrypt.setSelection(ivClear.getSelectionStart());    // scroll

唷,终于 :) 总是低估了 Spannable 的力量 ;)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式滚动 EditText 的相关文章

随机推荐

  • Android:在没有 Activity 或 Context 引用的情况下访问资源

    我发布这个问题是希望能得到某种明确的答案 如果没有活动或上下文引用 真的不可能访问资源吗 当所需的只是访问一些与 UI 无关的值 资产或字符串时 传递此类引用会导致代码过于复杂 加上所有那些潜在的悬挂参考 这也完全破坏了各种设计模式 例如单
  • 对于 i = 0,为什么 (i += i++) 等于 0?

    获取以下代码 可用作控制台应用程序 static void Main string args int i 0 i i Console WriteLine i Console ReadLine 的结果i是 0 我预计是 2 正如我的一些同事所
  • “异常:t 实例化期间出错!主插座已注册。”在科尔多瓦 Angular2 应用程序中

    我正在用我的项目构建一个简单的科尔多瓦应用程序 它有 2 层嵌套 主路由 gt 子路由 gt 另一个子路由 When trying to browse to the 2nd level another child route 我收到一条错误
  • Chrome 中检测浏览器打印事件有两种不同的方式

    我目前使用的是最新版本的 Chrome 43 0 2357 130 并且在从以下位置调用 print 时遇到打印功能的差异window print 与使用 P 相比 打印时使用window print 它正确输出到控制台 它输出Before
  • WPF FlowDocument - 绝对字符位置

    我有一个 WPF RichTextBox 我正在其中输入一些文本 然后解析整个文本以进行处理 在此解析过程中 我获得了每个单词的开头和结尾的绝对字符位置 我想使用这些字符位置对某些单词应用格式 但是 我发现 FlowDocument 使用
  • 将 Dictionary 转换为匿名对象?

    首先 为了让事情更清楚 我将从顶部解释我的场景 我有一个具有以下签名的方法 public virtual void SendEmail String from List
  • 如何删除包含 GridView 的空 div

    在 ASP NET Gridviews 中生成一个表 该表生成一个父 div 容器 这可能会破坏 CSS 布局 因为无法将样式附加到生成的 div 有没有办法阻止 div 生成或对其应用样式 已询问此问题并标记为已解决here但MS只是说d
  • 在 main() 之外处理 argc 和 argv

    如果我想将用于处理命令行参数的大部分代码保留在 main 之外 以便组织和更具可读性的代码 那么最好的方法是什么 void main int argc char argv lots of code here I would like to
  • 引用没有强名称的程序集

    有没有办法在没有强名称的情况下引用库 当我在引用中添加对程序集的引用并重建解决方案时 一切都很好 但是当我从此程序集解决方案调用该类时 它不会构建 输出表明引用的程序集应该具有强名称 最好的解决方案是什么 强命名库并不可取 我认为您遇到的问
  • Json.Net 可以嵌入到可执行文件中吗?

    我设置了 嵌入互操作类型 属性Netwonsoft Json图书馆到true它返回一个错误 Cannot embed interop types from assembly c path packages Newtonsoft Json 9
  • 在 JSPX 文件中包含 JS 文件(JQuery)

    我正在 Eclipse 中创建一个动态 Web 项目 几乎从头开始 并创建了一个 JSPX 文件 将其放置在 我打算使用Jquery UI 可排序我发现使用 JSPX 只有第一个脚本在 Firefox 和 IE 中加载
  • 如何使用Opencv轮廓单向描述线点

    我正在使用opencvsfindContour找到描述由线 而不是多边形 组成的图像的点 如下所示 cv findContours src contours hierarchy cv RETR EXTERNAL cv CHAIN APPRO
  • 在 javascript 中迭代颜色

    我想列出 css 中使用的所有颜色的列表 但它们似乎以 16 进制格式存储 我认为这样的事情可能会起作用 但它并没有达到我想要的效果 for x x lt 100 x color x toString 16 在 JavaScript 中 您
  • 如何重新启动独立的 Adob​​e Air/Flex 应用程序

    如何让独立的 Adob e Air Flex 应用程序自行重启 它不适用于以下建议的解决方案 http www colettas org p 267 任何帮助都会很棒 Thanks 你好亲爱的我已经修复了 Flex 4 6 的这个方法 pa
  • 日期时间格式如 HH:mm 24 小时,不含 AM/PM

    我在这里搜索关于将 16 20 这样的字符串转换为 DateTime 类型而不丢失格式 我说我不想添加 dd MM yyy 或秒或 AM PM 因为 db 只是接受这种格式 我还尝试过文化 提前致谢 只需为您的日期时间提供日期格式即可 st
  • 如何使用谷歌材料图标作为类而不是 标签

    根据指南中的谷歌材料网站我们必须在 中使用材质图标i 标签 问题是如何将图标添加为很棒的字体 就像是 Class material icons face 代替 i class material icons face i 是的 您可以使用 a
  • Visual C++ 易失性

    Visual C 中 易失性 的 MSDN 文档表明 除了确保读取始终从内存中读取以及写入始终相应地写入之外 写入具有 释放语义 读取具有 获取语义 易失性 的 C 规范包括第二部分 不要进行疯狂的优化 但不包括第一部分 内存栅栏 Visu
  • 装饰器对代码的特定行而不是整个方法进行计时?

    让我们假设一个简单的方法 def test method a 1 b 10000 c 20000 sum1 sum range a b sum2 sum range b c return sum1 sum2 要使用装饰器计时此方法 一个简单
  • __LINE__ __FILE__ 或 qml 中的类似函数

    我正在尝试打印调用者函数 行号和文件名 而不会在 QML 中出于正常调试目的抛出错误 我可以打印调用者函数名称 如下所示 console log Caller Function Name arguments callee caller na
  • 以编程方式滚动 EditText

    我正在编写一个简单的凯撒加密活动 屏幕上有两个 EditText 一个是明文 一个是加密的 下面是加密 EditText 的一个示例 明文文本与之类似