use*_*299 14 android android-layout
我有一个带有两个editexts的布局.我需要设置第二个焦点,并在第一个点击输入键时进行编辑.我有设置焦点的代码但是当第二个获得焦点时我无法开始输入.
PS我还需要edittext正好一行高,不可能制作附加行.它也有效.pss android 2.3
XML代码:
<EditText
android:id="@+id/email"
style="@style/profileLoginInput"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:hint="@string/email" android:ems="10" android:lines="1" android:maxLines="1" android:ellipsize="end">
<requestFocus />
</EditText>
<EditText
android:id="@+id/password"
style="@style/profileLoginInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:ems="10"
android:inputType="textPassword" android:hint="@string/password">
Run Code Online (Sandbox Code Playgroud)
Java代码:
((EditText) findViewById(R.id.email)).setOnKeyListener(new OnKeyListener(){
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (event.getAction() == KeyEvent.ACTION_DOWN)
{
switch (keyCode)
{
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_ENTER:
((EditText) findViewById(R.id.password)).requestFocus();
return true;
default:
break;
}
}
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
Gen*_* S. 24
你是在思考这个问题.您可以在XML中指定EditText输入的顺序,而无需在Java中执行任何操作.
使用android:nextFocusDown参数指定当用户点击回车键时您想要获得焦点的字段.
Mat*_*s H 11
android:inputType="text"
android:nextFocusDown="@+id/..."
Run Code Online (Sandbox Code Playgroud)
为我工作
| 归档时间: |
|
| 查看次数: |
30947 次 |
| 最近记录: |