我正在尝试用android做一个音乐播放器。我有两个活动。MainActivity:更新歌曲列表并显示它们。PlaySongActivity:实现基本功能:播放、暂停、下一步、上一步。
现在,我想在这两个活动之间切换。当我在PlaySongActivity上按下back按钮时,我就会回到MainActivity上。但是当我按下NowPlaying按钮时,我不知道该怎么做。这就是我正在做的事情。
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
updatePlayList();
Button nowPlayingBtn = (Button) findViewById(R.id.nowPlayingBtn);
nowPlayingBtn.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
intent = new Intent(MainActivity.this, PlaySongActivity.class);
startActivity(intent);
}
});
}
@Override
protected void onListItemClick(ListView list, View v, int position, long id) {
intent = new Intent(MainActivity.this, PlaySongActivity.class);
intent.putExtra("position",position);
intent.putExtra("songsList", songs);
startActivity(intent);
}发布于 2013-12-14 13:39:53
AFAIK如果没有Intent,则无法转到新的Activity。你能做的就是用Fragments代替Activities。另一种选择是使用Application Context而不是Activity Context来管理音乐,并能够继续通过activities再现音乐。
发布于 2013-12-14 13:08:31
目前还不清楚确切的问题是什么。
请看Android示例(位于SDK文件夹中),了解如何创建音乐播放器(您需要一个服务和一个通知)。
您不能在没有意图的情况下从Activity A返回到Activity B(但是,您可以使用->按钮从B返回到A)。
你为什么不想使用?Intents是Android中活动和应用程序之间的通信机制,不要试图逆水行舟。
要让活动A知道活动B中发生了什么,您可以使用侦听器/观察者模式,但在这种情况下,我认为更好的做法是实现BroadcastReceiver来侦听服务广播,并在服务说:“我正在播放!”你可以施展你的魔法。
https://stackoverflow.com/questions/20579584
复制相似问题