2010-02-06 8 views
1

J'ai une activité Android qui utilise une classe que j'ai développée qui étend une vue (appelons-la FooView). Je voudrais lancer une boîte de dialogue lorsqu'un événement particulier se produit dans FooView. Il semble de tout ce que j'ai lu que la boîte de dialogue doit être lancée depuis la classe Activity en utilisant showDialog(). Je n'arrive pas à trouver un exemple montrant comment lancer une boîte de dialogue à partir d'une vue. Donc, je me demande comment cela peut être accompli. Dois-je envoyer une intention de FooView à l'activité? Ou enregistrer un rappel à partir de l'activité appelée par FooView?Lancer une boîte de dialogue Android à partir d'une vue

Merci d'avance.

Répondre

3

Vous pouvez enregistrer votre rappel dans votre activité et rappeler une méthode dans l'activité.

Par exemple:

public class MyActivity extends Activity { 


/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.main); 

    FooView foo = (FooView) findViewById(R.id.foo); 
    foo.setOnClickListener(new OnClickListener() { 
     public void onClick(View view) { 
      launchDialog(); 
     } 
    }); 
} 





     private void launchDialog() { 
    // do it here 

     } 
} 
+0

C'est ce que je soupçonnais était nécessaire. – tronman

+0

Et si j'ajoute la vue par programmation? En fait, j'ajoute une quantité variable de vues à partir de laquelle j'ai besoin de montrer Dialog. Est-ce que c'est en quelque sorte possible? –

Questions connexes