我使用 CustomArrayAdapter 创建我的歌曲列表并将其放入 MainActivity 。MediaPlayer 和 SeekBar 在 MainActivity 中。我想将音乐编号从我的 CustomArrayAdapter 发送到 MainActivity 并播放它,但是当我使用 Intent 时,新的 MainActivity 再次创建。我想向它发送数据而无需再次创建活动。我怎样才能做到这一点 ???
1 回答
慕妹3242003
TA贡献1824条经验 获得超6个赞
如果您使用Intent并传递您的数据,它将创建新的活动,您可以做的是在您的适配器中创建一个接口,如下所示。
public interface GetSongCallBack {
void getSongNumber(int songNumber);
}
当您初始化您CustomAdapter的活动时,传递此接口的实例。看起来像这样:
CustomAdapter adapter = new CustomAdapter(..., new CustomAdapter.GetSongCallBack() {
public void getSongNumber(int songNumber) {
// do something here...
}});
最后,每当您希望您的 Activity 知道歌曲已更改时,请调用getSongNumber()此方法。你可以这样做,
在 CustomAdapters 构造函数中,您将获得接口的实例,因此,
声明一个全局变量:
GetSongCallBack callback;
还要在构造函数中添加这一行,
public CustomAdapter(... ,GetSongCallBack callback) {
.
.
this.callBack = callBack;
}
调用方法是这样的,
callBack.getSongNumber(song);
添加回答
举报
0/150
提交
取消