单击同级时,将注意力集中在EditText上

时间:2019-10-01 08:04:12

标签: android android-layout focus

我希望当我的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 个答案:

答案 0 :(得分:2)

是的,有可能

您需要在同级视图上设置onClickListner 在onClickListner调用editText.requestFocus();中 像下面一样

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

  editText.requestFocus();        

    }
});

答案 1 :(得分:1)

点击兄弟视图,您只需调用-editText.requestFocus()

答案 2 :(得分:0)

要使用XML进行此操作,可以在代码中添加以下内容

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

        <requestFocus/>

    </EditText>