3
我正在为android开发音乐播放器应用程序。当一首歌完成时,我发送一个广播,并且在一个活动中,我想相应地改变播放/暂停图标。从活动访问Recyclerview查看者
活动接收下一首歌曲的播放,但我不知道如何更新来自活动的行。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_now_playing);
mStaggerGridLayoutManager = new StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.VERTICAL);
mRecyclerView = (RecyclerView) findViewById(R.id.now_playing_songs_list);
mRecyclerView.setLayoutManager(mStaggerGridLayoutManager);
mAdapter = new ListAdapter(this, mSongList)
mRecyclerView.setAdapter(mAdapter);
mReciever = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(MusicService.SONG_FINISHED)) {
//WANT TO CHANGE ROW ICON HERE
}
}
};
如何在活动中访问在mAdapter中定义的查看者?
在ListAdapter类中创建一个公共方法来处理此操作,并从Activity的onReceive()中调用该方法。 –
很可能,您不想访问viewHolder。而是要修改适配器中的某个数据条目,然后通知适配器该条目已更改。 – gMale