0

OK EditTexts の配列があり、それらをループしたいので、EditText にテキストが含まれていない場合は、ユーザーに入力を求めたいのですが、多くの時間と多くの読書を経ていますが、できますこれがどのように機能するのか理解できません。いくつかの質問:

requestfocus() で十分ですか? (機能していません - キーボードが表示されません)

私は OnFocusChangeListener を試してみましたが、キーボードを表示しようとしました (showSoftInput(view,InputMethodManager.SHOW_IMPLICIT)) が、再び editText にフォーカスがある場合、機能しません。

この三角形から抜け出すための良い例を知っている人はいますか?

4

3 に答える 3

1

view.requestFocus()十分ではありません;

私はこのコードを使用しています:

public static void setSoftwareKeyboardVisibility(Context context, View view, boolean value) {
        final InputMethodManager manager = (InputMethodManager) context.getSystemService(Service.INPUT_METHOD_SERVICE);
        if (value) {
            view.requestFocus();
            manager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
        } else {
            // Any other not EditText View
            manager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.RESULT_UNCHANGED_SHOWN);
            view.requestFocus();
        }
    }

しかし、あなたはstandatrメソッドが機能していないと言いました。メソッド以外で呼び出してみてshowSoftInputくださいOnFocusChange。EditText にフォーカスを設定するときに呼び出します。

于 2013-11-03T10:31:56.263 に答える
0

問題を解決したページが見つかりませんが、解決策は次のとおりです。

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
于 2013-11-03T19:09:13.527 に答える
0

editTexteditText.requestFocus()が EditText ビューの場所で、カーソルをフィールドにフォーカスします。

フォーカス後にキーボードを表示したい場合は、raukodraug の回答を参照してください

于 2015-12-24T21:33:56.687 に答える