मैं आशय के लिए एक नई गतिविधि के लिए एक HashMap को पारित करने की कोशिश कर रहा हूं। डिबगर के माध्यम से कदम रखते हुए ऐसा लगता है कि यह हैशपॉप कोई समस्या नहीं जोड़ता है, हालांकि जब startActivty () कहा जाता है तो मुझे एक रनटाइम त्रुटि मिलती है जो कहती है कि पार्सल: मार्शल मूल्य com.appName.Liquor में असमर्थ।
शराब एक कस्टम वर्ग है जिसे मैंने बनाया है, और मेरा मानना है कि हैशपॉप के संयोजन में यह समस्या पैदा कर रहा है। अगर मैं अपने HashMap के बजाय एक स्ट्रिंग पास करता हूं तो यह अगली गतिविधि को लोड करता है कोई समस्या नहीं है।
मुख्य गतिविधि
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String cat = ((TextView) view).getText().toString();
Intent i = new Intent(OhioLiquor.this, Category.class);
i.putExtra("com.appName.cat", _liquorBase.GetMap());
startActivity(i);
शराब की क्लास
public class Liquor
{
public String name;
public int code;
public String category;
private HashMap<String, Bottle> _bottles;
public Liquor()
{
_bottles = new HashMap<String, Bottle>();
}
public void AddBottle(Bottle aBottle)
{
_bottles.put(aBottle.size, aBottle);
}
}
उप गतिविधि
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
HashMap<Integer, Liquor> map = (HashMap<Integer, Liquor>)getIntent().getSerializableExtra("com.appName.cat");
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, GetNames(map)));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
जब रनटाइम त्रुटि मौजूद होती है तो वह इसे उप गतिविधि वर्ग में कभी नहीं बनाती है। इसलिए मुझे पूरा यकीन है कि इस समस्या के इरादे के लिए हाशप को जोड़ने में मौजूद है, और त्रुटि के आधार पर मेरा मानना है कि मेरा शराब वर्ग इसका कारण है, लेकिन मैं इसका पता नहीं लगा सकता।
आपकी मदद की बहुत सराहना की जाएगी। धन्यवाद!