2010-12-11 40 views
0

Je commence juste à passer par des tutoriels pour écrire des applications Android. Ma première application sera, je l'espère, très simple, mais je vais avoir un peu de mal avec l'étape suivante. J'ai mon interface graphique principale de travail, qui est un simple LinearLayout avec plusieurs boutons disposés verticalement. Lorsque je clique sur le bouton Connecter, je veux un popupWindow apparaisse, avec les informations suivantes:J'ai des problèmes avec PopupWindow

TextView: "Enter IP Address" 
EditText: <ip address should get entered here> 
Button: "OK" --> connects to a PC listening for requests 

Le problème est, lorsque le popupWindow est créé, je peux à peine sortir tout le texte dans le TextView, mais c'est définitivement là. Plus étrangement, je ne peux pas voir le EditText ou le bouton. C'est presque comme si le PopupWindow disparaissait dans la vue, mais se fige à mi-chemin.

J'ai utilisé le code de this answer on SO pour faire fonctionner PopupWindow (sorte de).

Une fois la fenêtre PopupWindow affichée, mon application est bloquée car elle masque l'interface graphique principale à ce stade.

J'ai également ajouté des appels à showAsDropDown() et dismiss(), et quand je fais cela, le PopupWindow disparaît définitivement parce que je retrouve la réactivité dans mon interface graphique principale.

Quelqu'un peut-il expliquer ce qui se passe ici?

Voici ce que je parle en ce qui concerne la TextView à peine visible:

alt text

+0

utiliser dans le fichier manifeste ---> Piyush

+0

@Piyush: merci, mais cela change ma principale app pour ressembler à un dialogue. Je veux que mon application soit en plein écran et affiche simplement une fenêtre lorsque je clique sur Connexion. Je vais poster une photo pour la rendre plus claire. – Dave

Répondre

0

-t-il absolument être un PopupWindow? Est-ce qu'une coutume Dialog faire à la place? Vous pouvez spécifier vos propres boutons de mise en page & etc. Certains exemples utilisant des boîtes de dialogue personnalisées sont here, here et here.

+0

Après avoir examiné plusieurs articles, cela semble être la bonne chose à faire - utilisez une boîte de dialogue au lieu d'une fenêtre contextuelle. Je vais essayer. Merci! – Dave