2016-04-17 3 views
-1

歌手オブジェクト活動の間を通過するオブジェクト:アンドロイド - erorr

public class Singer implements java.io.Serializable { 

    public String id ; 
    public String name; 
    public HashMap<String,String> songs; 

    public Singer(String name,String id){ 
     this.id=id; 
     this.name=name; 
     this.songs=new HashMap<>(); 

    } 

    public void AddingSong(String songName,String songURL){ 
     this.songs.put(songName,songURL); 
    } 
} 

MainClass:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       //starting the mediaPlayer Activity with the song url 
       Intent intent = new Intent(getActivity(), songs_page.class); 

       intent.putExtra("name",(String)listView.getAdapter().getItem(position)); 
       intent.putExtra("id", songs.get(listView.getAdapter().getItem(position))); 

       Singer Obj=new Singer("1","Bayan"); 
       Obj.AddingSong("koko","[song URL here]"); 
       intent.putExtra("Allsongs",Obj); 


       startActivityForResult(intent, 0); 
      } 
     }); 

曲活性:

歌手歌手=(歌手)getIntent()getSerializable(「Allsongs。 ");

アクティビティから別のアクティビティへの文字列の送信は機能していましたが、オブジェクトを渡すときは、エロールを開始します。

+2

あなたは、意思を経由してオブジェクトを渡すカント、あなたはそれparcelable対象と意図を経由して渡すよりも確認する必要があります! –

+0

正確にどのようなエラー? –

答えて

2

は、バンドルを使用します。

Bundle data = new Bundle(); 
data.putSerializable("Allsongs", yourObject); 

intent.putExtras(data); 

は、その後、他の活動に:

Intent intent = getIntent(); 
Bundle data = intent.getExtras(); 
Singer singer =(Singer) data.getSerializable("Allsongs"); 
+0

'' 'intent.putExtra(" Allsongs "、Obj);' '' –

+0

yhaaはすでに働いています。 –

関連する問題