के रूप में GUIDs या स्ट्रिंग्स का उपयोग कर हैस्टेबल आईडी के साथ एडाप्टर मैं कस्टम ArrayAdapter<T>
लागू कर रहा हूं, और मैं hasStableIds
को सत्य पर सेट करना चाहता हूं। लेकिन मेरे टी आइटम के आईडी स्ट्रिंग्स और getItemId
विधि लंबे समय लौटती हैं।आईडीएस
तो, मैं वर्तमान में कर रहा हूँ है:
@Override
public boolean hasStableIds() {
return true;
}
@Override
public long getItemId(int position) {
return this.getItem(position).getId().hashCode();
}
कहाँ getId()
एक स्ट्रिंग देता है।
क्या यह स्ट्रिंग आईडी का उपयोग करने के लिए सही समाधान है?
विशेष रूप से, इस मामले के लिए, स्ट्रिंग आईडी GUID हैं, क्या कोई बेहतर विकल्प है?
दो अलग स्ट्रिंग्स ही hashCode वापस कर सकती है() ... – Niels
@Niels सुनिश्चित करें! लेकिन मेरा वाक्यांश वैसे भी सही है। वही स्ट्रिंग एक ही हैश है और यह जावा के लिए निहित है, भले ही यह एक ही स्ट्रिंग न हो लेकिन गलती से एक ही हैश हो। – eduyayo