Android には がありActivity
、2 つの要素があります:
EditText
ListView
が起動するとActivity
、EditText
すぐに入力フォーカス(点滅するカーソル)が設定されます。起動時にコントロールに入力フォーカスを設定したくないので、次のことを試しました。
EditText.setSelected(false);
EditText.setFocusable(false);
EditText
運が悪かった。の起動時に が自身を選択しないようにするにはどうすればよいでしょうかActivity
?
ベストアンサー1
次の例のように、タグ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"/>