大神们我想做从一个Activity传递数组到另一个Activity中,请问怎么传递,我这样做正确吗,跪求指导
这里是SongList列表
Intent intent_path = new Intent(); 
intent_path.setClass(this, MusicPlayer.class); 
Bundle bundle_path = new Bundle();
bundle_path.putSerializable("DATA", new String[]{Path,Path1,Path2});
intent_path.putExtras(bundle_path); 
startActivity(intent_path); 这里是MusicPlayer界面
接收
Intent intent =getIntent();
Bundle songList = getIntent().getExtras();
String[] array = songList.getStringArray("DATA");
uri = Uri.parse(array);

解决方案 »

  1.   


    Intent intent = new Intent();
    intent.putExtra("mp3Info", mp3Info);
    intent.setClass(this, xxxActivity.class);
    startActivity(intent);你试试看
    http://www.happyalaric.com
      

  2.   

    Bundle map = new Bundle();
    map.putSerializable("alistdata", new int[]{15,2,12,2});
    map.putSerializable("ad",new String[]{"5","6"});
    intent.putExtra("sd", map);
      
    传递int 和String 数组都没问题,为什么传递自己定义的类就不行呢,哪位帮忙解惑下
    如:map.putSerializable("im",new MyClass[]{MyClass1,MyClass2});
    对应的接收:
    (int[])this.getIntent().getBundleExtra("sd").getSerializable("alistdata")
    (String[])this.getIntent().getBundleExtra("sd").getSerializable("ad")
    (MyClass[])this.getIntent().getBundleExtra("sd").getSerializable("im")
      

  3.   

    参考:
    Activity之间传递数据
      

  4.   

    传递自定义的类的数组,这个自定义的类应该是要实现Serializable这个接口才可以的吧?