1

我希望我的 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>
4

3 回答 3

2

对的,这是可能的,

您需要在 onClickListner 调用中的兄弟视图上设置 onClickListner, editText.requestFocus(); 如下所示

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

  editText.requestFocus();        

    }
});
于 2019-10-01T08:08:32.000 回答
1

单击同级视图时,您可以通过调用简单地请求关注您的编辑文本 -editText.requestFocus()

于 2019-10-01T08:07:49.913 回答
0

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

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

        <requestFocus/>

    </EditText>
于 2019-10-01T10:40:30.163 回答