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