我正在使用editText来描述用户,我想要的是用户可以输入描述,当他按下回车键时,焦点将转到下一个输入字段,而不是在描述中添加新行editText 。怎么实现这个? 我正在使用的editText是: -
<EditText
android:id="@+id/descriptionEditText"
android:layout_width="fill_parent"
android:layout_height="200px"
android:layout_gravity="center_vertical"
android:layout_marginBottom="20px"
android:layout_marginLeft="10px"
android:layout_marginTop="20px"
android:background="@drawable/edittext_modified_states"
android:cursorVisible="true"
android:gravity="left|top"
android:hint="Description"
android:padding="10px"
android:textColor="@color/black"
android:textCursorDrawable="@null"
android:textSize="30px"
/>
答案 0 :(得分:1)
你可以使用这个:
urEditView.setNextFocusDownId(R.id.id_of_edit_where_you_want_to_focus);
urEditView.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN)
&& (keyCode == KeyEvent.KEYCODE_ENTER)) {
// Perform action on Enter key press
urEditView.clearFocus();
urnewEditText.requestFocus();
return true;
}
return false;
}
});
答案 1 :(得分:0)
final EditText remark = new EditText(MyClass.this);
remark.setRawInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);
使用它,就像你想要的那样。
答案 2 :(得分:0)
您可以使用textwatcher类查找enter,然后请求焦点到下一个编辑文本
descriptionEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});