Если вы используете 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()
этот метод.Вы можете сделать это следующим образом:
В конструкторе CustomAdapters вы получаете экземпляр интерфейса, поэтому
Объявите глобальную переменную:
GetSongCallBack callback;
Также добавьте эту строку вконструктор,
public CustomAdapter(... ,GetSongCallBack callback) {
.
.
this.callBack = callBack;
}
И вызов метода происходит так:
callBack.getSongNumber(song);