0

そのため、傾けたときにキーボードがフォーカスされている場合にキーボードを取得しようとする編集テキストがあります。

モトローラのMC40のデバイスを使用しています。Android バージョン 2.3.4。

焦点が合っているかどうかを確認し、デバッグして焦点が合っていることを確認しました。私は次のことを試しました:

txtQuantity.selectAll();
txtQuantity.requestFocus();

それは私のプログラムの他の部分では機能しますが、このアクティビティでは機能しません。

edittext はフォーカスされていますが、テキストは選択されておらず、キーボードもありません。edittext は画面では少し下にあり、他のアクティビティでは少し上にあります。キーボードが表示されないのはそのためだと思いますが、正しいか間違っていますか?

キーボードを強制すると

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);

次に、それが示したキーボード。しかし、何らかの奇妙な理由で、編集テキスト ボックスが以前のサイズの 1/3 に縮小され、何が書かれているかが見えなくなりました。

この問題は私に届き始めています。

編集

このイベントは、回避策として役立つようです。ただし、words/all/inmethod の 3 つの選択肢から選択するように求めるポップアップが表示されます。中間のものを選択すると機能しますが、プログラムで何らかの方法でそれを行う必要があります。

edittext.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 0, 0, 0));

編集テキストボックス

<EditText
    android:id="@+id/..."
    android:layout_width="60dp"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/..."
    android:layout_alignRight="@+id/..."
    android:layout_below="@+id/..."
    android:layout_marginTop="10dp"
    android:layout_toRightOf="@+id/..."
    android:ems="10"
    android:hint="@string/..."
    android:imeOptions="actionDone"
    android:inputType="number"
    android:maxLength="10"
    android:nextFocusUp="@+id/..."
    android:selectAllOnFocus="true" />
4

2 に答える 2

0

ここに私のために働いたいくつかのコードがあります。同様の問題がありました.EditTextにFocusをリクエストしましたが、キーボードが表示されませんでした.

public static void showKeyboardForEditText(Context context, EditText editText) {
    InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
}

キーボードを閉じる必要がある場合のコードは次のとおりです。

public static void hideKeyboard(Context context, EditText editText) {
    InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
}
于 2013-05-07T13:54:46.203 に答える
0

あなたは使用してみることができます:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);

次に、マニフェスト ファイルで、<activity>タグに次のように記述できます。

android:windowSoftInputMode="adjustPan"
于 2013-05-07T13:50:18.507 に答える