请求关注所选的edittext

时间:2016-07-22 12:26:19

标签: android android-edittext focus

在我的布局中,我有几个关于标题,日期,时间等的edittexts,一个在另一个之上。问题是我点击第一个edittext聚焦的任何字段(如果我想首先填写日期edittext我必须点击它,键盘显示焦点在第一个edittext然后我必须再次点击日期edittext才能填充它)。如何让它集中我点击的edittext?我点击后尝试在edittext上请求焦点,但没有任何改变。

enter image description here

每个edittext在XML中都是这样的

 <FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="20sp"
    android:layout_marginTop="20sp"
    android:layout_marginRight="20sp">

    <EditText
        android:id="@+id/etTitle"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:drawablePadding="8dp"
        android:paddingLeft="40dp"
        android:paddingRight="10dp"
        android:singleLine="true"
        android:textColor="@android:color/tab_indicator_text"
        android:hint="Title">
        <requestFocus />
    </EditText>

    <ImageView
        android:layout_width="25sp"
        android:layout_height="25sp"
        android:layout_gravity="left|center_vertical"
        android:layout_marginBottom="4sp"
        android:layout_marginLeft="5sp"
        android:src="@drawable/tv" />

</FrameLayout>

2 个答案:

答案 0 :(得分:0)

您需要遵循的步骤。

1)如果你的 EditText 是垂直排列的,那么第一个EditText应该在layout.xml中有 。 2)为每个 EditText 提供适当的输入类型,例如 NameEditText 输入类型将是&#34; textPersonName &#34 ;.根据您的输入类型键盘将更改,光标移动到下一个edittext。 3)如果想要根据焦点变化进行任何操作,您还可以为每个EdiText实现 FocusChangeListener

尝试一次希望它会起作用:) GlbMP

答案 1 :(得分:0)

我真的不明白你的问题但试试这个。如果它已经设置了焦点上的特定视图并且您想要更改它,您可以将 android:focusable android:focusableInTouchMode 设置为true并调用 requestFocus 到您要求关注的特定视图。

否则,如果您请求专注于所有editText,它可能会听取触摸并将焦点设置在firstView上,因为它无法同时关注所有视图。因此,您可以删除editText中的所有requestFocus调用,并在没有它们的情况下重试。他们应该像你说的那样工作。

如果那不是你的意思,那么尝试添加一个点击监听器来编辑想要setFocus的editText并调用requestfocus。而已。希望它有所帮助..