Suena como una buena oportunidad para usar un AlertDialog .
Tan básico como parece, Android no tiene un cuadro de diálogo incorporado para hacer esto (que yo sepa). Afortunadamente, es solo un pequeño trabajo adicional además de crear un AlertDialog estándar. Simplemente necesita crear un EditText para que el usuario ingrese datos y configurarlo como la vista del AlertDialog. Puede personalizar el tipo de entrada permitida usando setInputType , si lo necesita.
Si puede usar una variable miembro, simplemente puede establecer la variable en el valor de EditText, y persistirá después de que se haya cerrado el diálogo. Si no puede usar una variable miembro, es posible que necesite usar un escucha para enviar el valor de la cadena al lugar correcto. (Puedo editar y elaborar más si esto es lo que necesitas).
Dentro de tu clase:
private String m_Text = "";
Dentro de OnClickListener de su botón (o en una función llamada desde allí):
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Title");
// Set up the input
final EditText input = new EditText(this);
// Specify the type of input expected; this, for example, sets the input as a password, and will mask the text
input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
builder.setView(input);
// Set up the buttons
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
m_Text = input.getText().toString();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.show();