2012-02-02 16 views
6

tengo un método que devuelve la CharSequence [] y no está vacío (marcado con registro) pero no se muestra en el cuadro de diálogo. tengo que inicializar la matriz booleana []; no veo ningún error así que tal vez haya algo que extraño. mi código es:no puedo mostrar la lista en un cuadro de diálogo con setMultiChoiceItems en Android

dbManager.open(); 
final CharSequence[] usrCats = dbManager.getUserCreatedCategories(); 

dbManager.close(); 
final boolean[] selections = new boolean[usrCats.length]; 

    alert = b.setTitle(R.string.remove_category) 
      .setMessage(R.string.delete_categories_msg) 
      .setMultiChoiceItems(usrCats, selections, new DialogInterface.OnMultiChoiceClickListener(){ 
      public void onClick(DialogInterface dialog, int which, boolean isChecked){ 
      } 
     }) 

      .setPositiveButton("Create", new DialogInterface.OnClickListener(){ 
      public void onClick(DialogInterface dialog, int which){ 
      }  
    }).create(); 
    } 
+1

¿Cuál es el error? – JoxTraex

+0

aparece el cuadro de diálogo y el botón pero sin la lista –

Respuesta

8

No sé por qué, pero setMessage y setMultiChoiceItems no pueden trabajar juntos. Cuando elimino el setMessage, la lista muestra muy bien.

+0

¿Pero por qué? ¿Tú sabes? –

+0

Comportamiento extraño de hecho. Estaba depurando durante horas sin suerte. Esto funcionó como un encanto. Gracias. – IndrekV

+0

Mi Guess es que si aprobamos setMessage, pensará que este diálogo no es un diálogo de lista. – Ankit

0
Dialog _dialog; 
_dialog = new Dialog(classname.this); 
      _dialog.setTitle("Title"); 
      _dialog.setContentView(R.layout.dialoglist); 
      ListView _output = (ListView) _dialog 
        .findViewById(R.id.dialoglistid); 
      _output.setAdapter(new exmpleadaptor()); 
      // _output.setOnItemClickListener(classname.this); 
      //can use multichoice list option 
      _dialog.show(); 
     } 
Cuestiones relacionadas