AutocompleteTextView:在“NEXT”上突出显示下一个TextView,在“DONE”上,键盘消失

时间:2010-04-30 20:29:37

标签: android autocomplete keyboard highlight

我有两个 AutocompleTextViews,如果用户按下“NEXT”,我想切换到下一个,并在第二个AutocompleTextView点击“DONE”时让虚拟键盘消失。到目前为止,按钮“NEXT”/“DONE”什么都不做......不幸的是我找不到解决这个问题的资源。

有什么建议吗? THX

编辑:只是想补充一点,当Android处于2.3版或类似版本时会被问到这个问题。

4 个答案:

答案 0 :(得分:89)

我遇到了这个问题并通过将AutocompleteTextView上的imeOptions设置为actionNext来修复它。

示例:

<AutoCompleteTextView
    android:id="@+id/dialog_product_name"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:singleLine="true"
    android:completionThreshold="1"
    android:imeOptions="actionNext"
    />

答案 1 :(得分:3)

我找到了解决“NEXT”问题的解决方案:在您的View源代码中编写类似这样的内容

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
    if (firstAutoComplete.hasFocus()) {
    // sends focus to another field (user pressed "Next")
    otherText.requestFocus();
    return true;
    }
    else if (secondAutoComplete.hasFocus()) {
            // sends focus to another field (user pressed "Next")
    anotherText.requestFocus();
    return true;
    }
}
return false;
}

它似乎是一个旧的Android http://code.google.com/p/android/issues/detail?id=4208。 在这里,我找到了我的解决方案:http://groups.google.com/group/android-developers/browse_thread/thread/e53e40bfe255ecaf

答案 2 :(得分:0)

只需将这两行添加到AutoCompleteTextView xml代码中:

            android:completionThreshold="1"
            android:imeOptions="actionNext"

答案 3 :(得分:0)

不要忘记添加inputType =“text”,否则你将输入按钮而不是下一个/完成一个:

<AutoCompleteTextView
    android:id="@+id/suppliers"
    android:layout_width="@dimen/summary_input_width"
    android:layout_height="wrap_content"
    android:hint="@string/current_supplier"
    android:imeOptions="actionNext"
    android:inputType="text"
    android:lines="1" />