单击同级时将焦点重定向到编辑文本上



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

是的,这是可能的,

您需要在同级视图上设置 onClickListner 在那个点击列表纳调用editText.requestFocus();像下面一样

siblingView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.requestFocus();        
}
});

单击同级视图后,您只需通过调用 -editText.requestFocus()来请求将焦点放在编辑文本上

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

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

最新更新