Etkinliğim denir, bu yüzden Kullanıcı bazı Şarkılar seçmeli, o bir Çalma Listesi'ne eklemek ister. Bir RecyclerView öğesini nasıl seçilebilir (Arka Plan Rengi bir Accent Color olmalıdır) ve nasıl seçili Şarkılar Listesini veya Array'ını RecyclerView sayfamdan nasıl alabilirim?RecyclerView ile seçilebilir bir liste nasıl yapılır?
Benim SelectSongsActivity:
Ve RecyclerViewAdapter:
public class SelectSongRecyclerViewAdapter extends RecyclerView.Adapter<SelectSongRecyclerViewAdapter.Holder> {
private Song[] sSongs;
private List<Song> selectedSongs;
public SelectSongRecyclerViewAdapter(Song[] songs) {
sSongs = songs;
selectedSongs = new ArrayList<>();
}
@Override
public Holder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.adapter_songview, parent, false);
Holder holder = new Holder(view);
return holder;
}
@Override
public void onBindViewHolder(Holder holder, int position) {
//holder.imvSong.setImageResource(R.drawable.standardartwork);
holder.txvSongTitle.setText(sSongs[position].getTitle());
holder.txvSongInfo.setText(sSongs[position].getArtists());
}
@Override
public int getItemCount() {
return sSongs != null ? sSongs.length : 0;
}
public Song[] getSelectedSongs() {
Song[] songs = new Song[selectedSongs.size()];
return selectedSongs.toArray(songs);
}
public class Holder extends RecyclerView.ViewHolder {
LinearLayout linearLayout;
ImageView imvSong;
TextView txvSongTitle;
TextView txvSongInfo;
public Holder(View layout) {
super(layout);
linearLayout = (LinearLayout) layout;
imvSong = (ImageView) layout.findViewById(R.id.imvSong);
txvSongTitle = (TextView) layout.findViewById(R.id.adap_txvSongtitle);
txvSongInfo = (TextView) layout.findViewById(R.id.txvSongInfo);
}
}
}
teşekkürler!
örneğin gibi olmalıdır whatsapp temaslarda seçimi (addesiseçildiğinde) –
Daha sonra yukarıdaki kod problemlerinizi çözmelidir. Ayrıca o zaman holder.linearlayout.setBackgroundColor (R.color.default_color); dateHolder.linearlayout.setBackgroundResource (R.drawable.item_selector); item_selector- http://stackoverflow.com/questions/34467536/attr-selectableitembackground-effect-shows-only-on-longtap/35128898#35128898 cevabım –