読者です 読者をやめる 読者になる 読者になる

【Android】フォーカスイベント

 

EditTextで検索キーワードを入力して、検索ボタンへ移動する

イメージでフォーカスイベントをご説明します。

検索ボタンへ移動する際に、キーボードを非表示にします。

 

-----------------------------------------------------------------------------------------------------------

<Button
  android:id="@+id/search"
  android:focusableInTouchMode="true"
  android:layout_below="@+id/searchText"
  android:layout_width="wrap_content"
  android:layout_height="50dp"
  android:text="検索"/>

 

//フォーカスモード

  (設定しないとEditTextから移動できない)

android:focusableInTouchMode="true"

 

//実装した場合は以下

Button search = (Button)getView().findViewById(R.id.search);
search.setFocusableInTouchMode(true);

 

-----------------------------------------------------------------------------------------------------------

EditText searchText = (EditText)getView().findViewById(R.id.searchText);
searchText.setOnFocusChangeListener(this);

 

@Override
public void onFocusChange(View v, boolean hasFocus) {
  // EditTextのフォーカスが外れた場合
  if (hasFocus == false) {
    // キーボード非表示
    InputMethodManager imm =

      (InputMethodManager)getActivity().getSystemService(

          Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(

      v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
  }
}