web-dev-qa-db-ja.com

AutocompleteTextView:「次へ」で次のTextViewを強調表示し、「完了」でキーボードを非表示にします

two AutocompleTextViewsがあり、ユーザーが「NEXT」を押すと次へ切り替えて、2番目のAutocompleTextViewで「DONE」を押すと仮想キーボードが消えるようにします。これまでのところ、「次へ」/「完了」ボタンは何もしません。残念ながら、この問題に対処するリソースは見つかりませんでした。

助言がありますか?どうも

編集:Androidがバージョン2.3などであったときに、これが尋ねられたことを追加したいだけです。

34
MJB

この問題が発生し、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"
    />
93
cebru

「次へ」の問題に対するこの解決策を見つけました。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

3
Paolo

InputType = "text"を追加することを忘れないでください。そうしないと、次へ/完了ボタンの代わりにEnterボタンが表示されます。

<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" />
0
Honza Musil

次の2行をAutoCompleteTextViewxmlコードに追加するだけです。

            Android:completionThreshold="1"
            Android:imeOptions="actionNext"
0
Wajid khan