position是ListView中列表的位子 ,第一行为0;这里的mp3Infos是前面已经写好的list变量,调用position方法就可以。下面的System.out.println("------->"+mp3Info);只要在类定义时实现toString方法就可以。
Intent是Activity与Activity之间,Activity与Service之间传递参数的介质
Intent.putExtras(key, value)几乎可以包括各种类型的值,但是却没有类似List<Object>之类的传递参数
相当于没有value值不能添加list的,需要在Mp3Info类上实现Serializable接口 ,槽才能添加到putExtra上面
Intent.putExtras(key, value)几乎可以包括各种类型的值,但是却没有类似List<Object>之类的传递参数
相当于没有value值不能添加list的,需要在Mp3Info类上实现Serializable接口 ,槽才能添加到putExtra上面
1 @Override 2 protected void onListItemClick(ListView l, View v, int position, long id) { 3 // 根据用户点击列表当中的位置来得到响应的Mp3Info对象 4 Mp3Info mp3Info = mp3Infos.get(position); 5 //System.out.println("------->"+mp3Info); 6 // 生成Intent对象 7 Intent intent = new Intent(); 8 // 将Mp3Info对象存入到Intent对象当中 9 intent.putExtra("mp3Info", mp3Info); 10 intent.setClass(this, DownloadService.class); 11 // 启动Service 12 startService(intent); 13 super.onListItemClick(l, v, position, id); 14 }
Mp3Info类要实现serializable接口