2010-11-09 28 views
12

Je développe sur Android 2.2 en utilisant Java. Je mets un editText sur un PopupWindow et ça ne marche pas. Il agit comme un texte d'édition désactivé, en cliquant sur le texte d'édition n'affichera pas le clavier logiciel. Comment puis-je ajouter un texte d'édition sur une fenêtre popup?EditText sur une fenêtre contextuelle

Répondre

15

J'ai résolu le problème comme ceci: J'ai mis le popupWindow.setFocusable(true); et maintenant il fonctionne. Il semble que le texte d'édition qui était sur une fenêtre pop n'avait pas de focus parce que la fenêtre contextuelle n'avait pas de focus.

+0

Merci u m'a aidé .... merci ton .... :) – Taruni

+0

je tentais comme vous suggère, mais cela ne contribue pas. – Deepak

+0

mais il y a encore un problème qui est lorsque vous appuyez longtemps sur edittext marqueur ne s'affiche pas, il donne à la fenêtre pop-up coller –

0

Le champ EditText a-t-il définitivement la propriété android: editable définie sur true? Si c'est faux, il sera désactivé comme vous le décrivez.

37

Juste essayer:

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

alert.setTitle("Title"); 
alert.setMessage("Message"); 

// Set an EditText view to get user input 
final EditText input = new EditText(this); 
alert.setView(input); 

alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
public void onClick(DialogInterface dialog, int whichButton) { 

    // Do something with value! 
    } 
}); 

alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int whichButton) { 
    // Canceled. 
    } 
}); 

alert.show(); 
+0

popup a presque pris ma journée et il a fallu min pour résoudre mon problème merci mon pote –

+0

accueillir mes amis ... – Siten

0
popWindow.setFocusable(true); 
popWindow.update(); 

Il fonctionnera.

+0

Aidez-moi. Déjà donné dans la réponse. – Vikas

0

appel code de tout auditeur

private void popUpEditText() { 
     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setTitle("Comments"); 

     final EditText input = new EditText(this); 
     LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
       LinearLayout.LayoutParams.MATCH_PARENT, 
       LinearLayout.LayoutParams.MATCH_PARENT); 
     input.setLayoutParams(lp); 
     builder.setView(input); 

     // Set up the buttons 
     builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 

      // do something here on OK 

      } 
     }); 
     builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       dialog.cancel(); 
      } 
     }); 
     builder.show(); 

    }