为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PIPIONE 2021-10-13 13:33:05
我使用 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);


查看完整回答
反对 回复 2021-10-13
  • 1 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信