【问题标题】:How to use more then one imeOptions in android如何在android中使用多个imeOptions
【发布时间】:2015-02-02 10:25:28
【问题描述】:

是否可以在 Android xml 中使用超过 1 个 imeOptions ?对于相同的text field

例如

<EditText
    android:id="@+id/mywriting"
    android:imeOptions="actionDone"
    android:imeOptions="autoText"/>

现在它给我一个错误,说1 imeOptions has already been used,我不能再使用了

【问题讨论】:

  • 你得到答案了吗?
  • @AhmadArslan 如果您仍然需要它,请在下面查看我的答案...

标签: android xml text android-edittext imeoptions


【解决方案1】:
<EditText
android:id="@+id/mywriting"
android:imeOptions="actionDone|autoText" />

勘误

我的错。 可以组合的是inputType而不是imeOptions

<EditText
android:id="@+id/mywriting"
android:inputType="..."
android:imeOptions="actionDone" />

【讨论】:

  • 是的,您可以将它们与|(管道)结合起来
  • 它说错误:错误:不允许使用字符串类型(在 'imeOptions' 处,值为 'actionDone|autoText')
  • 我的错,可以组合的是inputType而不是imeOptionsimeOptions 只接受一种类型。
【解决方案2】:

使用 |像这样组合:

android:imeOptions="actionDone|actionNext"

在您的情况下,问题在于 autoText,它不是 imeOptions 的有效值。

【讨论】:

    【解决方案3】:

    大家好,我在检查问题时看到了您的帖子,内容如下:

    在 XML 中应用 2 个 IME 选项时,它可以工作:

    tools:imeOptions="actionDone|actionPrevious"
    //Even tools:imeOptions="actionPrevious|actionNext" will work
    

    这样做时:默认情况下,显示的 Ime 将是“完成”(或使用上一个/下一个时为“下一个”),但如果您按住它几秒钟,则会显示“上一个”按钮,然后如果您松开“DONE”按钮,它将执行“PREVIOUS”IME 操作...无论选项顺序如何。

    最聪明的是......如果你通过代码做同样的事情:

    myEditText.setImeOptions(EditorInfo.IME_ACTION_DONE|EditorInfo.IME_ACTION_PREVIOUS);
    

    然后它不起作用:你只得到“上一个”按钮

    编辑 好的,这是一个不好的做法:如果您希望使用 Previous/Next,最好删除 ImeOptions 并替换为:

            android:nextFocusUp="@id/layoutItemId" //Previous view to focus
            android:nextFocusDown="@id/layoutBBDate" //next view to focus
    

    如果您希望使用“Previous/Done”声明:

                android:nextFocusUp="@id/layoutItemId" //Previous view to focus
                tools:imeOptions="actionDone"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-16
      • 1970-01-01
      • 1970-01-01
      • 2015-07-14
      • 1970-01-01
      • 2021-01-25
      • 2016-12-24
      • 2013-07-04
      相关资源
      最近更新 更多