我需要从编辑文本中清除焦点并将其放在另一个元素上,问题是焦点始终在编辑文本上,无论我做什么,它都不会失去焦点。
我想在单击软键盘的下一个按钮时更改焦点,所以我使用编辑器选项侦听器来做这件事,因为键盘是隐藏的,所以效果很好。
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_NEXT) {
InputMethodManager imm =
(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(tviewNombreNC.getWindowToken(), 0);
tviewNombreNC.clearFocus();
spinnerNuevaConf.requestFocus();
}
return false;
}
我尝试过 requestFocus()、clearFocus 和两者同时使用,但什么也没做。如果编辑文本从不聚焦,其他元素可以获得焦点,但是当 ET 获得焦点时,其他元素无法实现捕捉它。
布局
<TextView android:text="@string/nuevaconfiguracion_titulo"
android:textSize="25sp" android:textColor="@android:color/black"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textStyle="bold"/>
<ImageView android:src="@drawable/barra_verde"
android:layout_width="match_parent"
android:layout_height="5dp" android:scaleType="fitXY"/>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp">
<ImageView android:src="@drawable/barra_verde"
android:layout_width="4dp" android:layout_height="30dp"
android:scaleType="fitXY" android:layout_marginRight="5dp"
android:layout_gravity="center_vertical" android:visibility="visible"
android:id="@+id/view_nuevaconfiguracion_1_nombre_focus"/>
<TextView android:text="@string/nuevaconfiguracion_1_nombre"
android:textSize="18sp" android:textColor="@android:color/black"
android:layout_marginRight="5dp" android:layout_width="72dp"
android:layout_height="wrap_content"/>
<EditText android:layout_width="match_parent" android:layout_height="40dp"
android:id="@+id/view_nuevaconfiguracion_usuario"
android:background="@android:drawable/editbox_background_normal"
android:textColor="@android:color/black" android:textSize="18sp"
android:singleLine="true" android:imeOptions="actionNext"
android:nextFocusDown="@+id/view_nuevaconfiguracion_moneda"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_marginTop="5dp">
<ImageView android:src="@drawable/barra_verde" android:layout_width="4dp"
android:layout_height="30dp"
android:scaleType="fitXY" android:layout_marginRight="5dp"
android:layout_gravity="center_vertical" android:visibility="invisible"
android:id="@+id/view_nuevaconfiguracion_1_divisa_focus"/>
<TextView android:textSize="18sp" android:textColor="@android:color/black"
android:text="@string/nuevaconfiguracion_1_divisa"
android:layout_marginRight="5dp" android:layout_width="72dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
<Spinner android:layout_width="match_parent" android:layout_height="40dp"
android:id="@+id/view_nuevaconfiguracion_moneda"
android:background="@android:drawable/editbox_background_normal"
android:dropDownVerticalOffset="5dp"/>
</LinearLayout>