将数据从 ArrayAdapter 发送到 MainActivity,而无需更新 MainActivity



我用CustomArrayAdapter创建了一个我的歌曲列表,并将其放入MainActivity中。

MediaPlayer和SeekBar在MainActivity中。

我想将音乐号码从我的自定义阵列适配器发送到主活动并播放它,但是当我使用 Intent 时,新的主活动再次创建。

我想在不再次创建活动的情况下向其发送数据。

我该怎么做???

谢谢

如果您使用Intent并传递您的数据,它将创建新的活动,您可以做的是在适配器中创建一个接口,如下所示。

public interface GetSongCallBack  { 
void getSongNumber(int songNumber);
}

在活动中初始化CustomAdapter时,请传递此接口的实例。 它将看起来像这样:

CustomAdapter adapter = new CustomAdapter(..., new CustomAdapter.GetSongCallBack() {
public void getSongNumber(int songNumber) { 
// do something here...
}});

最后,每当您希望您的活动知道歌曲已更改时,请调用此方法getSongNumber()。 你可以这样做,

在自定义适配器构造函数中,您正在获取接口的实例,因此,

声明一个全局变量:

GetSongCallBack callback; 

还要在构造函数中添加此行,

public CustomAdapter(... ,GetSongCallBack callback) {
.
.
this.callBack = callBack; 
}

调用方法如下,

callBack.getSongNumber(song);

相关内容

  • 没有找到相关文章

最新更新