2011-06-21 11 views
11

Necesito crear un diálogo con ListView y el mensaje, sin embargo, de acuerdo con http://code.google.com/p/android/issues/detail?id=10948 no es posible con AlertDialog estándar. Así que decidí crear una vista personalizada con texto y vista de lista, y adjuntarlo al cuadro de diálogo.Cuadro de diálogo con vista de lista y mensaje

Sin embargo, mi vista de lista está vacía. Aquí está el código de Java:

AlertDialog.Builder builder = new AlertDialog.Builder(this); 

    builder.setTitle("Hello, title!"); 

    LayoutInflater factory = LayoutInflater.from(this); 
    View content = factory.inflate(R.layout.dialog, null); 

    ListView lv = (ListView) content.findViewById(R.id.list); 
    lv.setAdapter(new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_single_choice, ITEMS)); 
    lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 

    builder.setView(content).setPositiveButton("OK", this).setNegativeButton("Cancel", this); 

    AlertDialog alert = builder.create(); 
    alert.show(); 

También tengo:

final String[] ITEMS = new String[] { "a", "b", "c" }; 

y aquí está la disposición de diálogo:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Hello, text!" /> 

    <ListView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/list" 
    ></ListView> 

</LinearLayout> 

Aquí es resultado: dialog_with_empty_list_view

Cualquier ayuda es muy apreciada . ¡Gracias!

Respuesta

4

Te has perdido android:orientation="vertical" en linearlayout.

Su XML se

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical"> 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Hello, text!" /> 

    <ListView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/list" 

    ></ListView> 

</LinearLayout> 
1

orientación vertical como conjunto se

 <?xml version="1.0" encoding="utf-8"?> 
     <LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical"> 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Hello, text!" /> 

    <ListView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/list" 
    ></ListView> 

    </LinearLayout> 

en su diseño

Cuestiones relacionadas