我正在开发一个 mediaPlayer 应用程序,我将 ListViews 用于我的播放列表。我有具有 mediaPlayer 的主要活动,当用户单击播放列表按钮时,将启动 ArtistActivity,用户可以从中启动 SongActivity。我查看了许多教程和示例,但出于某种原因,SongActivity 将“0”传递回主要活动并使用歌曲 URL 播放 ArrayList 中的第一首曲目。任何帮助将非常感激。请帮忙。谢谢你。
主要活动:
btnPlaylist.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent i = new Intent(getApplicationContext(),ArtistActivity.class);
startActivityForResult(i, 100);
}
});
}
protected void onActivityResult(int requestCode,
int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == 50)
{
currentSongIndex = data.getExtras().getInt("songIndexArtist");
songIndex = currentSongIndex;
// play selected song
playSong(currentSongIndex);
// Displaying Song title
String songTitle =
songsList.get(currentSongIndex).get("songTitle");
songTitleLabel.setText(songTitle);
}
艺术家活动:
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//int artistIndex = position;
// Starting new intent
Intent in2 = new Intent(getApplicationContext(),SongActivity.class);
startActivityForResult(in2,100);
setResult(100,in2);
in2.putExtra("songIndexArtist", songIndexArtist);
finish();
}
});
}
protected void onActivityResult(int requestCode,
int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == 50)
{
songIndexArtist = data.getExtras().getInt("songIndex");
}
}
歌曲活动:
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(getApplicationContext(), "DOWNLOADING, PLEASE WAIT", Toast.LENGTH_LONG).show();
// getting listitem index
int songIndex = position;
// Starting new intent
Intent in3 = new Intent(getApplicationContext(),
AndroidBuildingMusicPlayerActivity.class);
// Sending songIndex to PlayerActivity
in3.putExtra("songIndex", songIndex);
setResult(50,in3);
// Closing PlayListView
finish();
}
});
}