entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Problemas al poner un SearchView en un AlertDialog.

Tengo un DialogAlert en el cual tengo un ListView... Tengo el siguiente código que lo que hace básicamente es colocar un SearchView en el titulo, pero tengo un problema cuando le doy clic al SearchView me despliega el teclado pero lo hace debajo del AlertDialog. Mi pregunta es:

¿Como le hago para el teclado me salga sobre el AlertDialog?

......
RelativeLayout titleLayout = new RelativeLayout(this);
SearchView sv = new SearchView(this);
titleLayout.addView(sv);
builder.setCustomTitle(titleLayout);
.....

Otra pregunta, ¿Hay alguna forma de indicar que el SearchView este del lado derecho?, para que así se pueda seguir viendo el Titulo del AlertDialog, ya que así como lo tengo actualmente borra el titulo y pone el SearchView en su lugar.

0voto

Peter comentado

Para otra pregunta, por favor abre otra pregunta.

Saludos.

2 Respuestas

1voto

Andhii1293 Puntos2930

Encontré la solución y prácticamente era cambiar el focus para que indicar que este se iba a ubicar sobre el AlertDialog de modo que cuando seleccione el SearchView el teclado quede sobre el AlertDialog

 public void abrirListaRutas(View view) {
        showDialog(0); //Muestro listado de rutas
        //Esto me sirve para que el teclado no queda debajo del alert
        alertDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM
                | WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

    }

Después de crear el AlertDialog indico ciertas propiedades que harán que en este se ubique el Focus.

1voto

x4mp73r Puntos13390

¡Hola!

Puedes revisar este ejemplo

Ahí explica como personalizas un Alert con ListView así:
enter image description here

Y para que no te obstaculize el título, podrías colocarle el título al Alert arriba del SearchView así:

  AlertDialog dialogo = new AlertDialog.Builder(getActivity()).create();
        dialogo.setCancelable(true);
        dialogo.setTitle("Mi título");

Espero y te sirva de algo ;)

1voto

x4mp73r comentado

Bueno en mi caso que uso Fragments es (getActivity()) si no usas Fragments, creo que es this o context, no lo recuerdo

0voto

Andhii1293 comentado

El tutorial es bueno pero me di cuenta que no era lo que necesitaba ya que en mi caso no uso un listView, porque mi listado es de selección múltiple así que uso un setMultiChoiceItems

Aun así gracias por la ayuda :)

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta