0

2.3 デバイスでしか再生できない問題があります。基本的に、私は両方ともフォーカス可能で、ユーザーは何でも入力できる 2 つの EditTexts を持つアクティビティを持っています。縦向きから横向きに切り替えると、仮想キーボードを表示しないようにする必要があります。これを実現するために、OnConfigurationChanged で InputMethodManager の hideSoftInputFromWindow を使用します。ただし、フィールド 2 がポートレート モードでフォーカスされていたとします。ランドスケープ モードに切り替えると、フィールドはフォーカスされますが、それを押してもキーボードは開きません。私はそれを強制的に開くことさえしました:

edittext2.setOnClickListener(new OnClickListener() {
@Override
    public void onClick(View v) {
InputMethodManager keyboard = ( InputMethodManager )
getSystemService( Context.INPUT_METHOD_SERVICE );
keyboard.showSoftInput( v, InputMethodManager.SHOW_FORCED);

しかし、キーボードはどちらにも表示されません。

すでにフォーカスされており、以前のキーボードが表示されたり非表示になったりしたため、システムは別のキーボードを開かないように決定したようです。

これに対するクイックフィックスを提案できますか?

後で

最後に、 showSoftInputを呼び出す前に、このちょっと厄介な回避策を使用してこれを解決しました。

edittext2.clearFocus
edittext2.requestFocus
4

1 に答える 1