2つのフラグメントを持つViewPagerを含むAndroidアプリがあります。最初のフラグメントには、EditTextフィールドが含まれています。アプリが起動すると、そのフィールドにすぐにフォーカスが移り、ソフトキーボードが起動します(これは私がやりたいことです)。2番目のフラグメントには、リストのみが含まれます(編集可能なテキストフィールドは含まれません)。フラグメント1からフラグメント2にスワイプすると、キーボードが消えます。私が試したことは何もうまくいかないようです。キーボードは表示されたままになるだけでなく、フラグメント1のEditTextフィールドを更新し続けます。
キーボードを非表示にするために間違ったコードを使用しているか、間違った場所に配置していると思います。誰かが正しい実装の例を投稿できるなら、それは大いにありがたいです!
私の最近の試みは、フラグメント1のonDetach()メソッドにキーボードを非表示にするコードを配置することでした。
@Override
public void onDetach()
{
super.onDetach();
InputMethodManager imm = (InputMethodManager) this.context.getSystemService(Context.INPUT_METHOD_SERVICE);
// I'VE TRIED ALL THREE BELOW, NONE OF THEM WORK...
// imm.hideSoftInputFromWindow(this.messageView.getWindowToken(), 0);
// imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
// this.context.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}