猿问

将数据从 ArrayAdapter 发送到 MainActivity 而不更新

我使用 CustomArrayAdapter 创建我的歌曲列表并将其放入 MainActivity 。

MediaPlayer 和 SeekBar 在 MainActivity 中。

我想将音乐编号从我的 CustomArrayAdapter 发送到 MainActivity 并播放它,但是当我使用 Intent 时,新的 MainActivity 再次创建。

我想向它发送数据而无需再次创建活动。

我怎样才能做到这一点 ???


PIPIONE
浏览 147回答 1
1回答

慕妹3242003

如果您使用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);
随时随地看视频慕课网APP

相关分类

Java
我要回答