2010-08-31 6 views
2

Peut-être qu'il me manque quelque chose d'évident ici, mais j'ai du mal à définir une vue personnalisée pour le corps d'un AlertDialog. Voici ce que je fais pour définir la vue personnalisée:AlertDialog setContentView prenant en charge l'écran

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    this.setContentView(View.inflate(getContext(), R.layout.dialog_body, null)); 
} 

Au lieu de définir le contenu du corps du AlertDialog, la vue est placé sur l'écran. Comment obtenir la vue juste pour remplacer le corps du message AlertDialog?

+0

dont la fonction onCreate est cela, vos activités? –

+0

Classe qui étend AlertDialog. Mais je l'ai eu en travaillant avec AlertDialog.Builder. – Gumgo

+0

J'adorerais avoir une solution pour l'onCreate d'un AlertDialog. –

Répondre

2

Vous définissez la vue de l'activité en appelant setContentView, c'est pourquoi il occupe l'intégralité de l'écran. Vous le faites également dans la méthode onCreate de ce que je suppose être l'activité, vous devez le faire dans la méthode onCreateDialog.

Voici un lien vers le docs et un exemple.

public Dialog onCreateDialog(int id) { 

      Dialog dialog = null; 
      AlertDialog.Builder builder = new AlertDialog.Builder(app); 
      AlertDialog alert = null; 

      builder.setTitle("A title") 
        .setCancelable(true) 
        .setView(myView); 
       alert = builder.create(); 
       return alert; 

} 
+0

Il est en fait dans le onCreate de la boîte de dialogue, mais je vais donner un coup de feu. Merci! – Gumgo

Questions connexes