所以我试图在android上创建一个基本的音乐应用程序,它在列表视图中显示设备的歌曲,当一个人点击一首特定的歌曲时,应用程序应该在不同的活动上播放它。
到目前为止,我已经能够从SD卡中提取歌曲,创建第二个播放歌曲的活动(由播放/暂停按钮和搜索栏提供)。
但是如何将列表视图中用户点击的歌曲传递给第二个活动才能播放。
答案 0 :(得分:0)
在这种情况下你可以使用单身人士,这样你就可以创建一个SongManager
,它将是你的单身人士,可以存储你的歌曲并可以在第二个活动中播放
或者你可以在一个片段中显示列表视图,这样你的SongManager
不是单身,而只是一个由显示片段的活动管理的简单对象,当你想播放这首歌时,你可以打开另一个片段这首歌要参加活动。
所以
ACTIVITY (create the object `SongManager`)
FRAGMENT A (ListView)
FRAGMENT B (Play)
答案 1 :(得分:0)
我建议只将文件名作为字符串传递,即
Intent intent = new Intent(ActivityA.this, ActivityB.class);
intent.putExtra("SongKey", songFileName);
startActivity(intent);
答案 2 :(得分:0)
您需要将mp3路径解析为新活动,因此新活动可以播放您的歌曲
Intent intent = new Intent(getActivity(),Play.class);
intent.putExtra("title", titleX);
intent.putExtra("path", mp3path);
startActivity(intent);
然后在play.class活动中
title = getIntent().getStringExtra("title");
location = getIntent().getStringExtra("path");
//other function
mediaPlayer.setDataSource(location);
mediaPlayer.prepare();