Kedengarannya seperti peluang bagus untuk menggunakan AlertDialog .
Sebagai dasar tampaknya, Android tidak memiliki dialog built-in untuk melakukan ini (sejauh yang saya tahu). Untungnya, ini hanya pekerjaan ekstra di atas untuk menciptakan AlertDialog standar. Anda hanya perlu membuat EditText agar pengguna dapat memasukkan data, dan mengaturnya sebagai tampilan AlertDialog. Anda dapat menyesuaikan jenis input yang diizinkan menggunakan setInputType , jika perlu.
Jika Anda dapat menggunakan variabel anggota, Anda cukup mengatur variabel ke nilai EditText, dan itu akan tetap ada setelah dialog telah diberhentikan. Jika Anda tidak dapat menggunakan variabel anggota, Anda mungkin perlu menggunakan pendengar untuk mengirim nilai string ke tempat yang tepat. (Saya dapat mengedit dan menguraikan lebih banyak jika ini yang Anda butuhkan).
Di dalam kelas Anda:
private String m_Text = "";
Di dalam OnClickListener tombol Anda (atau dalam fungsi yang dipanggil dari sana):
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();