2010-11-09 12 views
12

Estoy desarrollando en Android 2.2 usando Java. Puse un editText en una ventana emergente y no está funcionando. Actúa como un texto de edición deshabilitado, al hacer clic en el texto de edición no se mostrará el teclado virtual. ¿Cómo puedo agregar un texto de edición en una ventana emergente?Editar texto en una ventana emergente

Respuesta

15

He resuelto el problema de esta manera: puse el popupWindow.setFocusable(true); y ahora está funcionando. Parece que el texto de edición que estaba en una ventana emergente no tenía foco porque la ventana emergente no tenía foco.

+0

Gracias u me ayudó .... gracias una tonelada .... :) – Taruni

+0

yo estaba tratando como usted sugiere, pero esto no está ayudando. – Deepak

+0

pero todavía hay un problema que es cuando presionas mucho el editor de texto no aparece ni da al portapapeles pegar –

0

¿El EditText definitivamente tiene la propiedad android editable establecida en true? Si es falso, se desactivará tal como lo describes.

37

sólo trato:

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

ventana emergente casi me tomó el día y me costó resolver mi problema gracias amigo –

+0

bienvenida mis amigos ... – Siten

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

Se trabajará.

+0

No ayuda. Ya dado en la respuesta. – Vikas

0

llamada el código de cualquier oyente

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(); 

    } 
Cuestiones relacionadas