অ্যান্ড্রয়েডআরটাইম ত্রুটি: পার্সেল: মার্শাল মান করতে অক্ষম


109

আমি ইন্টেন্ট.পুএেক্সট্রা ফাংশনটি ব্যবহার করে একটি নতুন ক্রিয়াকলাপে একটি হ্যাশম্যাপ পাস করার চেষ্টা করছি। ডিবাগারটি দিয়ে পদক্ষেপের মাধ্যমে মনে হচ্ছে এটি হ্যাশম্যাপে কোনও সমস্যা যুক্ত করে না, তবে যখন স্টার্টঅ্যাক্টিটি () বলা হয় তখন আমি একটি রানটাইম ত্রুটি পেয়েছি যা জানায় যে পার্সেল: মার্শাল মান com.appName.Liquor করতে অক্ষম।

লিকার হ'ল একটি কাস্টম ক্লাস যা আমি তৈরি করেছি এবং আমি বিশ্বাস করি এটি হ্যাশম্যাপের সাথে একত্রিত করে সমস্যা তৈরি করছে। যদি আমি আমার হ্যাশম্যাপের পরিবর্তে কোনও স্ট্রিং পাস করি তবে এটি পরবর্তী ক্রিয়াকলাপটিকে কোনও সমস্যা দেয় না।

যথোপযুক্ত সৃষ্টিকর্তা

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);

রানটাইম ত্রুটি যখন উপস্থিত থাকে তখন তা কখনই এটি উপ-কার্যকলাপ শ্রেণিতে তৈরি করে না। সুতরাং আমি নিশ্চিত যে সমস্যাটি হ্যাশম্যাপকে অভিপ্রায় যুক্ত করার ক্ষেত্রে রয়েছে এবং আমি যে ত্রুটিটি বিশ্বাস করি তার ভিত্তিতে আমার লিকার শ্রেণিটি কারণ বলে বিশ্বাস করে তবে আমি কেন তা বুঝতে পারি না।

আপনার সাহায্য সদরে গ্রহণ করা হবে। ধন্যবাদ!

উত্তর:


274

আপনার HashMapনিজেই ধারাবাহিক তবে Bottleশ্রেণি সিরিয়ালযোগ্য? যদি তা না হয় তবে এটি সিরিয়ালায়িত হবে না এবং রানটাইমের সময় ত্রুটি ছুঁড়ে দেবে। করাBottle বর্গ বাস্তবায়ন java.io.Serializableইন্টারফেস


5
ধন্যবাদ, আমি লিকার এবং বোতল উভয় শ্রেণিতে ক্রিয়াকলাপযোগ্য সরঞ্জামগুলি যোগ করতে হয়েছিল।
জেয়ার্ড

2
এটি কাজ করে .. আমাকে বোতল শ্রেণিতে সিরিয়ালাইজেবল প্রয়োগ করতে হবে। ধন্যবাদ @নায়েকুস
অশোকচক্রবর্তী নাগরাজন

177
মদ সর্বদা দোষের জন্য :))
সেজার আলেকজান্দ্রু ভ্যান্সা

3
আমার জন্য কাজ করেছেন :)
জ্যাকি

1
এটি কাজ করে, তবে আমি বিভ্রান্ত হয়ে পড়েছি এর সাথে সিরিয়ালাইজেশনটির কী সম্পর্ক আছে? অ্যান্ড্রয়েড কি পর্যায়ক্রমে অবজেক্টগুলিকে সিরিয়ালাইজিং এবং ডিজাইরিজেশন করে রাখে? এবং কোন ক্ষেত্রে আমার সিরিয়ালাইজেবল ইন্টারফেস (এখানে এখানে) প্রয়োগ করতে হবে?
রেषভ রঞ্জন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.