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

1voto

Personalizar titulo de AlertDialog [Android]

Creo un AlertDialog al cual le paso un listado de opción múltiple:

AlertDialog.Builder builder = new AlertDialog.Builder(Inicio.this);
//Llamo al Layout donde tengo mi titulo personalizado
builder.setCustomTitle(getLayoutInflater().inflate(R.layout.search_alert,null));
builder.setMultiChoiceItems(Mylistado, null, new DialogInterface.OnMultiChoiceClickListener() {
.....
}

Cree un layout que me sirve como titulo personalizado para el AlertDialog(search_alert.xml) este layout incluye un TextView y un SearchView (el nombre del listado y la opción de buscar), ambos en la misma linea algo así:

enter image description here

El problema que tengo es que cuando doy en la opción de buscar (SearchView) este se queda por debajo del titulo:

enter image description here

lo que quiero es saber si es posible ya sea que al SearchView le pueda poner un Texto de modo que se vea como titulo o hacer que el titulo aparezca/desaparezca según este activo o inactivo el SearchView.

En todo caso se exite otra forma, seria de gran ayuda.

3 Respuestas

1voto

cobasESP Puntos19650

Para poner una vista personalizada a un alertdialog necesitas inflar un view (aunque no se muy bien como lo has hecho tu), pero creo que esto te servira:

View myview;
        SearchView sv = (SearchView) myview.findViewById(R.id.mysearchview);
        sv.OnFocusChangeListener(new View.OnFocusChangeListener(){

            @Override
            public void onFocusChange(View view, boolean b) {
                if(b){
                    //borrar el texto del text view
                }else{
                    //poner un titulo al text view
                }
            }
        });

Al tener inflada la vista tenemos acceso a sus elementos hijos y con el metodo on focus podemos saber si tenemos seleccionado o no el searchview y por lo tanto poder cambiar el textview, date cuenta que no uso findwievbyid(), sino que le pongo delante myview.findviewbyid();

espero que te sirva

0voto

Andhii1293 comentado

Esa es buena idea, pero sinceramente no pude aplicarlo ya que no tenia la "absurda" idea de donde poner esa parte del código, donde lo ponía que según yo es después de inflar mi View, nunca funciono, aun así encontré otra forma, que es ponerle texto al SearchView de ese modo cumple su cometido :D

Al configurar mi SearchView uso la propiedad:

mSearchView.setQueryHint("Mi listado buscar:");

y me queda algo así:

enter image description here

1voto

1raziel1 Puntos2210

builder.setTitle("titulo aqui");

0voto

Andhii1293 comentado

Ese solo me serviría para poner el Texto del titulo, no para el Search.

1voto

x4mp73r Puntos13390

uhm... y si dejas en limpio el TextView en tu layout así:

<TextView
   android:text=" "

0voto

Andhii1293 comentado

De hecho la cuestión no era tanto, que hacer con el TextView, si no cómo hacerlo, ya que tenia que ocultar/limpiar el textview, según se este usando o no el SearchView.

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