EditText pierde el foco en el clic
Estoy escribiendo una actividad para enumerar un montón de elementos de la base de datos y mostrar una columna adicional con una cantidad. Implementé un ArrayAdapter para mostrar mi diseño personalizado. Aquí está el código de las partes más importantes del adaptador:
static class ViewHolder { protected TextView text; protected EditText editText; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = null; if (convertView == null) { LayoutInflater inflator = context.getLayoutInflater(); view = inflator.inflate(R.layout.rowquantitylayout, null); final ViewHolder viewHolder = new ViewHolder(); viewHolder.text = (TextView) view.findViewById(R.id.label); viewHolder.editText = (EditText) view.findViewById(R.id.editText); viewHolder.editText.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) { Log.i(TAG, "Editable:" + s.toString()); } public void beforeTextChanged(CharSequence s, int start, int count, int after) { } public void onTextChanged(CharSequence s, int start, int before, int count) { } }); view.setTag(viewHolder); viewHolder.editText.setTag(list.get(position)); } else { view = convertView; ((ViewHolder) view.getTag()).editText.setTag(list.get(position)); } ViewHolder holder = (ViewHolder) view.getTag(); holder.text.setText(list.get(position).getDescription()); holder.editText.setText("" + list.get(position).getQuantity()); return view; }
Ahora, cuando trato de enfocar el "EditText" pierde el foco justo después de hacer clic en él. Muestra el keboard e incluso llega a la Log.i, pero no me deja cambiar el valor ya que no está enfocado.
- Android-7.0: EditText actionId incorrecto en el editor actionlistener
- ¿Existe alguna manera de cambiar la forma en que se resalta el elemento de edición de Android EditText?
- Tipo de texto de correo electrónico android
- ¿Cómo deshabilitar el teclado popup cuando en edittext?
- EditText en ListView es actualizado por onTextChanged al desplazarse
Gracias por la ayuda
- Detener ScrollView de establecer el enfoque en EditText
- EditText deja de mostrar los caracteres mientras escribo?
- Cómo obtener la configuración de EditText maxLength en el código
- Cursor no está visible en EditText cuando no hay texto allí
- Cómo establecer el estilo de diseño de material a deshabilitado EditText (android)?
- Android - cómo prefill Edittext?
- Android: ¿Cuál es el tamaño de texto predeterminado de un EditText?
- Obtener texto de un EditText
Tuve el mismo problema y busqué una respuesta. Aquí hay una respuesta a una pregunta similar: https://stackoverflow.com/a/9338694/1448661
Tienes que poner una línea en tu actividad en el manifiesto:
android:windowSoftInputMode="adjustPan"
Y su lista debe tener esta línea también:
android:descendantFocusability="beforeDescendants"
Y ahora probablemente se enfrentará a otro problema que es la pérdida de su texto al desplazarse. Si esto sucede eche un vistazo a este tutorial: http://vikaskanani.wordpress.com/2011/07/27/android-focusable-edittext-inside-listview/
Espero que esto ayude. Goui
prueba esto:
<EditText android:id="@+id/editText1" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:ems="10" android:inputType="textShortMessage" > <requestFocus /> </EditText>