私はアンドロイド用の音楽プレーヤーアプリを開発しています。曲が完成すると、私は放送を送り、アクティビティではそれに応じて行の再生/一時停止アイコンを変更したい。アクティビティの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クラスでパブリックメソッドを作成し、このメソッドをアクティビティのonReceive()から呼び出します。 –
おそらく、あなたはviewHolderにアクセスしたくありません。代わりに、アダプターのデータ項目の1つを変更して、項目が変更されたことをアダプターに通知したいとします。 – gMale