1. ホーム
  2. android

[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法

2022-03-16 10:05:27

質問

私は Activity をAndroidで作成し、2つの要素で構成しています。

  1. EditText
  2. ListView

私の Activity が開始されると EditText はすぐに入力フォーカス(カーソルの点滅)を持っています。起動時にどのコントロールも入力フォーカスを持たないようにしたいのですが。試してみました。

EditText.setSelected(false);
EditText.setFocusable(false);

運がない。どうすれば EditText のときに自分自身を選択しないようにする。 Activity が始まるのですか?

解決方法は?

タグを追加する android:focusableInTouchMode="true"android:focusable="true" を親レイアウトに追加します (例. LinearLayout または ConstraintLayout のようにすると、問題が解決します。

<!-- Dummy item to prevent AutoCompleteTextView from receiving focus -->
<LinearLayout
    android:focusable="true" 
    android:focusableInTouchMode="true"
    android:layout_width="0px" 
    android:layout_height="0px"/>

<!-- :nextFocusUp and :nextFocusLeft have been set to the id of this component
to prevent the dummy from receiving focus again -->
<AutoCompleteTextView android:id="@+id/autotext"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:nextFocusUp="@id/autotext" 
    android:nextFocusLeft="@id/autotext"/>