【问题标题】:how to make android edittext show a pattern while text is being inserted?如何在插入文本时使 android edittext 显示模式?
【发布时间】:2013-01-05 04:13:39
【问题描述】:

我正在开发一个 Android 应用程序,用户必须在其中输入一个编辑文本视图的答案。为了使事情更简单,我希望编辑文本继续显示编辑文本提示的其余部分。 例如,如果正确答案是:“大乔”。我生成以下提示:"--- ---" 是 3 个破折号,然后是一个空格,然后是另外 3 个破折号。但是,将其设置为提示没有问题,一旦用户按下编辑文本视图,提示就会消失。我希望它保持原样并被用户输入淹没。继续这个例子,id 用户只输入(错误地)“Ji”(但还没有完成!)然后我希望 edittext 视图包含文本:“Ji- ---”。而不仅仅是“Ji”,因为它通常会。提示应该像“shdow text”或“Sit Fillers”一样保持不变,所以一旦“Sit”被填满,它就会消失。 因此,对于正确的答案,会发生以下情况并带有 # 标记光标: 开始: # - - - 第一个:B#- --- 第二:双#--- 第三:大#-- 第四名:大j#- 第五名:大乔# 第六名:大乔#。在这一点上,我不确定是否有理由让用户输入更多字母。

【问题讨论】:

    标签: android design-patterns android-edittext hint


    【解决方案1】:

    首先使用.setText() 设置破折号而不是设置提示。使用.addTextChangedListener() 向您的EditText 实例添加TextWatcher。覆盖TextWatcher 方法并使用它们将EditText 操作为用户类型。

    https://developer.android.com/reference/android/text/TextWatcher.htmlSelectionhttps://developer.android.com/reference/android/text/Selection.html

    【讨论】:

    • 我试过了,但没有成功。它在 beforeTextChanged 和 onTextChanged 上都说“尝试从此回调中对 s 进行更改是错误的”,就像在 afterTextChanged 中一样,它将整个事情置于无限循环中。有没有我可以在某个地方效仿的例子?
    • 在afterTextChanged方法中移除监听器,更改文本重新添加监听器。这有效,请在我对文本进行无限更改时有关 stackoverflow 异常的答案之一中找到它。
    • 抱歉,昨晚我的笔记本电脑无法连接到你,这里是链接stackoverflow.com/questions/7222944/…
    • 我已经尝试了几个小时。最好的情况是我以一种奇怪的方式被配音。例如,如果我输入了 -- 并且输入了一个字符(例如 h),那么它会输入 h- -- 这很好,但如果我输入另一个符号,一切都会变得一团糟。例如,如果我输入一个 i 或第二个 h,而不是得到 hi --,我得到 hhi--。我看不到原因。我不敢相信我正在尝试做的事情没有简单的解决方案。
    • 谢谢 Nikola,我已经搜索并找到了您提供链接的帖子,但卡住了我刚刚在上述评论中解释的地方。
    猜你喜欢
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    • 2013-06-29
    相关资源
    最近更新 更多