AlertDialog का उपयोग करने के लिए एक अच्छे अवसर की तरह लगता है ।
जैसा कि बुनियादी लगता है, एंड्रॉइड के पास ऐसा करने के लिए एक अंतर्निहित संवाद नहीं है (जहां तक मुझे पता है)। सौभाग्य से, यह एक मानक AlertDialog बनाने के शीर्ष पर बस थोड़ा अतिरिक्त काम है। आपको बस उपयोगकर्ता को डेटा इनपुट करने के लिए एक EditText बनाने की आवश्यकता है, और इसे AlertDialog के दृश्य के रूप में सेट करें। यदि आप की जरूरत है, तो आप setInputType का उपयोग करके अनुमत प्रकार के इनपुट को अनुकूलित कर सकते हैं ।
यदि आप एक सदस्य चर का उपयोग करने में सक्षम हैं, तो आप बस चर को EditText के मान में सेट कर सकते हैं, और संवाद के खारिज होने के बाद यह जारी रहेगा। यदि आप एक सदस्य चर का उपयोग नहीं कर सकते हैं, तो आपको स्ट्रिंग मान को सही स्थान पर भेजने के लिए एक श्रोता का उपयोग करने की आवश्यकता हो सकती है। (यदि आपकी जरूरत है तो मैं इसे और अधिक विस्तृत और संपादित कर सकता हूं)।
आपकी कक्षा के भीतर:
private String m_Text = "";
अपने बटन के OnClickListener के भीतर (या वहाँ से बुलाए गए एक समारोह में):
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();