मैं एंड्रॉइड अलर्टडिअलॉग को देख रहा हूं, और स्ट्रिंग्स की एक सूची जोड़ने के लिए setItems (...) का उपयोग करने के लिए यह काफी आसान है।अलर्टडिअलॉग सूची में कस्टम ऑब्जेक्ट्स; डिस्प्ले स्ट्रिंग और फिर वास्तविक मान कैसे प्राप्त करें?
हालांकि, ज्यादातर मामलों में आप अच्छी स्ट्रिंग्स दिखाने वाली एक सूची चाहते हैं, लेकिन सूची से कुछ चुनते समय आप वास्तविक मान चाहते हैं और स्ट्रिंग नहीं।
मैं यह नहीं ढूंढ पाया कि इसे आसान और अच्छे तरीके से कैसे किया जाए।
टिप्स? =)
final Button Button1 = (Button) findViewById(R.id.Button1);
Button1.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
final CharSequence[] items = { "String 1", "String 2", "String 3" };
// INstead of a string array, I want something like:
// ArrayList<CustomObject> test = new ArrayList<CustomObject>(myArray);
// And the CustomObject has a toString() and also a value. This array should in the best of worlds be the base for the list below =)
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle(LanguageHandler.GetString("Test"));
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
// *** I want to get the value here! ***
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
}
});
AlertDialog alert = builder.create();
alert.show();
}
});
आप अधिक eloborate कर सकते हैं? आपको क्या चाहिए? – user370305
अरे, क्षमा करें। अब तक इस टिप्पणी को नहीं देखा। खैर, मुझे लगता है कि उपर्युक्त टिप्पणी पर स्पष्ट है (कोड में टिप्पणी है)। मैं कस्टम ऑब्जेक्ट्स को AlertDialog में जोड़ना चाहता हूं, जहां ऑब्जेक्ट टूस्ट्रिंग() - विधि मुद्रित की जानी चाहिए, लेकिन क्लिक करते समय मैं क्लिक किए गए ऑब्जेक्ट को वापस लौटा देना चाहता हूं ... =) – Ted
मेरा उत्तर देखें, आशा है कि अब आप जो चाहते हैं उसे प्राप्त करें .. बस अपनी ऑब्जेक्ट्स का कस्टम एडेप्टर बनाएं और इसे अपने अलर्टडिअलॉग पर सेट करें .. – user370305