2016-07-22 68 views
0

在我的布局中,我有几个编辑文本用于标题,日期,时间等。问题是我点击第一个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> 
+1

请提供您的代码的相关部分。 –

+0

向我们显示您的代码 – Jas

回答

0

步骤需要遵循。

1)如果你的的EditText是垂直排列的话,首先应的EditText在layout.xml 。 2)给出正确输入类型每个的EditText像例如NameEditText输入类型将是 “textPersonName”。根据你输入的类型键盘将改变,光标移动转到下一个edittext。 3)你也可以实现FocusChangeListener为每个EdiText,如果想要做任何基于焦点变化的操作。

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

0

我真的不明白你的问题,但尝试。如果其已设定焦点的特定视图,你想改变,你可以设置两个机器人:可聚焦安卓focusableInTouchMode为真,并呼吁requestFocus的你想要求专注于特定视图。否则,如果它已经请求关注所有editText,它可能会听到触摸并将焦点放在firstView上,因为它不能同时将焦点集中在所有视图上。因此,您可以删除editText中的所有requestFocus调用,并在没有它们的情况下再次尝试。他们应该像你说的那样工作。

如果那不是你的意思,那么尝试添加一个点击侦听器到您想要设置的focusText并且调用requestfocus。而已。希望它有帮助..

+0

我希望我的上次编辑能让问题更清楚。我试过你的建议,但无论我点击标题edittext的焦点。另外,我不知道它是否重要,但键盘出现在列表视图的末尾,我必须向上滚动才能看到字段。 – Nikola

+0

@Nikola添加到你的清单让我看看** android:windowSoftInputMode =“stateAlwaysVisible”**到特定的活动 – 4bdu1

+0

@Nikola你这样做,如果你想隐藏键盘当你进入活动** android:windowSoftInputMode =清单中特定活动标记中的“stateHidden”** – 4bdu1