Перенаправить фокус на EditText при щелчке по брату - PullRequest
1 голос
/ 01 октября 2019

Я хочу, чтобы мой EditText фокусировался при касании (щелчке) его родного или родительского элемента.

Возможно ли это сделать с помощью XML или программно?

Я уже пытался установитьследующие атрибуты контейнера (LinearLayout) и одноуровневого элемента (AppCompatTextView)

android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <androidx.appcompat.widget.AppCompatTextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:gravity="left" />

    <androidx.appcompat.widget.AppCompatEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="left"
        android:inputType="textCapSentences" />
</LinearLayout>

Ответы [ 3 ]

2 голосов
/ 01 октября 2019

Да, это возможно,

вам нужно установить onClickListner для просмотра одного и того же вызова onClickListner editText.requestFocus();, как показано ниже

siblingView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

  editText.requestFocus();        

    }
});
1 голос
/ 01 октября 2019

По щелчку в окне просмотра одного уровня вы можете просто запросить фокусировку на вашем тексте редактирования, позвонив по номеру - editText.requestFocus()

0 голосов
/ 01 октября 2019

Чтобы сделать это с помощью XML, вы можете добавить следующее в ваш код

    <EditText
        android:id="@+id/editText"
        android:layout_width="411dp"
        android:layout_height="51dp">

        <requestFocus/>

    </EditText>
...