我有一个包含一些editTexts和datePiker的表单。当我按下next时填写表格,它将重点放在下一个editText上,但是当editText之间有日期选择器或微调框时,它们将被跳过,并且将焦点放在它们之后的下一个editText上。有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
editTextBefore.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_NEXT) {
hideKeyboard();
textView.clearFocus();
spinner.requestFocus();
spinner.performClick();
}
return true;
}
});
OR
添加此行以关注微调器
Spinner spinner = (Spinner) findViewById(R.id.my_spinner);
spinner.setFocusable(true);
spinner.setFocusableInTouchMode(true);
spinner.requestFocus();
您还需要隐藏键盘,您可以使用以下方法进行操作
private void hideKeyboard() {
InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
}
答案 1 :(得分:0)
确保为日期选择器/微调器使用focusable属性:
android:focusable="true"
答案 2 :(得分:0)
尝试使用此方法在属性中设置焦点
android:nextFocusDown="@+id/etText1" or android:nextFocusForward="@+id/etText1"
和
android:imeOptions="actionNext"