我有两个 AutocompleTextViews,如果用户按下“NEXT”,我想切换到下一个,并在第二个AutocompleTextView点击“DONE”时让虚拟键盘消失。到目前为止,按钮“NEXT”/“DONE”什么都不做......不幸的是我找不到解决这个问题的资源。
有什么建议吗? THX
编辑:只是想补充一点,当Android处于2.3版或类似版本时会被问到这个问题。
答案 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" />