gpt4 book ai didi

android - 从 Activity 访问 Recyclerview viewholder

转载 作者:太空狗 更新时间:2023-10-29 13:14:32 25 4
gpt4 key购买 nike

我正在为 Android 开发音乐播放器应用程序。当一首歌曲播放完毕后,我会发送一个广播,并且在一个 Activity 中,我想相应地连续更改播放/暂停图标。

Activity 收到下一首歌曲的广播,但我不知道如何从 Activity 更新行。

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
}
}
};

如何在 Activity 中访问 mAdapter 中定义的 View 持有者?

最佳答案

您必须从 Activity 中更改模型,然后要求适配器更新 View 。 单一职责oop设计原则之一。例如,所有歌曲对象都必须有一个 boolean 值,将其命名为 isPlaying。当用户播放歌曲时,必须将其设置为 true。然后当您收到广播时,您会从列表中找到那首歌并将boolean设置为false,然后调用mAdapter.notifyDataSetChanged( )。在您的 getView 方法中,您只需检查该变量并将 UI 设置为暂停或播放状态。

关于android - 从 Activity 访问 Recyclerview viewholder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36342255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com