2009-12-18 19 views
9

Quiero iniciar una actividad dentro de una pantalla emergente. ¿Hay alguna sugerencia para un cambio rápido?Actividad de Android dentro del cuadro de diálogo

new AlertDialog.Builder(SearchResults.this) 
     .setTitle("Refine") 
     .setItems(/*catNames*/, new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
       /* User clicked so do some stuff */ 
       String catName = catNames[which]; 
       String categoryIds = subCats.get(catName); 
      }) 
      .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int whichButton) { 
       //do nothing just dispose 
      } 
     }) 
     .create().show(); 

Respuesta

22

También puede aplicar este tema por lo que su actividad se presenta como un cuadro de diálogo:

<activity android:theme="@android:style/Theme.Dialog"> 
+0

¿Hay alguna manera de hacer esto de forma dinámica? – user1017674

1

Si todo lo que quieres hacer es comenzar la actividad cuando el usuario seleccione un elemento del diálogo, puede hacerlo de esta manera:

new AlertDialog.Builder(SearchResults.this) 
        .setTitle("Refine") 
        .setItems(/*catNames*/, new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int which) { 
            /* User clicked so do some stuff */ 
            String catName = catNames[which]; 
            String categoryIds = subCats.get(catName); 
            Intent intent = new Intent(SearchResults.this,YourActivity.class); 
            startActivity(intent); 
        }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int whichButton) { 
            //do nothing just dispose 
          } 
        }) 
        .create().show(); 

En el método onClick() se crea una intento y pasarlo al método startActivity().

+0

quiero usar la intención como una vista del cuadro de diálogo. –

+0

Hmmm, estoy un poco confundido aquí. El intento es una operación que debe realizarse; no es un componente View/ViewGroup, por lo que no se puede usar como diseño de un cuadro de diálogo. Una de las operaciones que se puede realizar por intención es comenzar una nueva actividad, por lo que quizás desee establecer su diseño personalizado para un diálogo. Es ese el caso? – Ramps

Cuestiones relacionadas