61 lines
1.9 KiB
Java
61 lines
1.9 KiB
Java
package org.mercury_im.messenger.ui.roster;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.widget.TextView;
|
|
|
|
import org.mercury_im.messenger.R;
|
|
import org.mercury_im.messenger.persistence.database.model.RosterEntryModel;
|
|
|
|
import java.util.List;
|
|
|
|
public class RosterRecyclerViewAdapter
|
|
extends RecyclerView.Adapter<RosterRecyclerViewAdapter.RecyclerViewHolder> {
|
|
|
|
private List<RosterEntryModel> entryModelList;
|
|
|
|
public RosterRecyclerViewAdapter(List<RosterEntryModel> entryModelList) {
|
|
this.entryModelList = entryModelList;
|
|
}
|
|
|
|
@NonNull
|
|
@Override
|
|
public RecyclerViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
|
return new RecyclerViewHolder(LayoutInflater.from(parent.getContext())
|
|
.inflate(R.layout.recycler_view_item_roster_entry, parent, false));
|
|
}
|
|
|
|
@Override
|
|
public void onBindViewHolder(@NonNull RecyclerViewHolder holder, int position) {
|
|
RosterEntryModel model = entryModelList.get(position);
|
|
holder.jidView.setText(model.getJid().toString());
|
|
holder.nicknameView.setText(model.getNickname());
|
|
holder.itemView.setTag(model);
|
|
}
|
|
|
|
@Override
|
|
public int getItemCount() {
|
|
return entryModelList.size();
|
|
}
|
|
|
|
public void setItems(List<RosterEntryModel> rosterEntryModels) {
|
|
this.entryModelList = rosterEntryModels;
|
|
notifyDataSetChanged();
|
|
}
|
|
|
|
public class RecyclerViewHolder extends RecyclerView.ViewHolder {
|
|
|
|
private TextView jidView;
|
|
private TextView nicknameView;
|
|
|
|
public RecyclerViewHolder(View itemView) {
|
|
super(itemView);
|
|
this.jidView = itemView.findViewById(R.id.roster_entry__jid);
|
|
this.nicknameView = itemView.findViewById(R.id.roster_entry__nickname);
|
|
}
|
|
}
|
|
}
|