0

I have CardView items like this image description here and I want to display numbers in card view items like this image description here

What can I do in adapter to display numbers like 1,2,3.. ?depends upon size?im using retrofit to display data

Here is my adapter :

public class TipsAdapter extends RecyclerView.Adapter<TipsAdapter.CustomViewHolder> {
List<TipsModel> employees;
 Context context;

public TipsAdapter(Context context,List<TipsModel> employees) {
    this.employees = employees;
    this.context=context;
}

@Override
public CustomViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View itemView = LayoutInflater.from(parent.getContext())
            .inflate(R.layout.tipstrickitem, parent, false);

    return new CustomViewHolder(itemView);
}

@Override
public void onBindViewHolder(CustomViewHolder holder, int position) {
   // TipsModel employee = employees.get(position);
    holder.employeeName.setText(employees.get(position).getTips());

}

@Override
public int getItemCount() {
    return employees.size();
    //return (employees == null) ? 0 : employees.size();

}

public class CustomViewHolder extends RecyclerView.ViewHolder {
    public TextView employeeName;

    public CustomViewHolder(View view) {
        super(view);
        employeeName = (TextView) view.findViewById(R.id.employeeName);

    }
}}

alignment got disturb: enter image description here

Hemant N. Karmur
  • 840
  • 1
  • 7
  • 21
Wini
  • 1,906
  • 1
  • 12
  • 31

1 Answers1

2

change holder.employeeName.setText(employees.get(position).getTips());

to holder.employeeName.setText(" " + position + ". " + employees.get(position).getTips());

This will add the position of each element of the recycler view as a number before the Tips.

If you want to skip zero replace position with String.valueOf(position+1)

Nikos Hidalgo
  • 3,666
  • 9
  • 25
  • 39
  • 0 is also getting displayed.i don't want 0 – Wini Dec 19 '19 at 16:27
  • holder.employeeName.setText(" " + position + ". " + employees.get(String.valueOf(position+1)).getTips()); getting error in get(String.valueOf(position+1)) – Wini Dec 19 '19 at 16:32
  • @winij I meant the first position when it's used as a string like so: holder.employeeName.setText(String.valueOf(position+1) + ". " + employees.get(position).getTips()); – Nikos Hidalgo Dec 19 '19 at 16:34
  • alignment got disturb...see ss above..what to do? – Wini Dec 19 '19 at 16:41
  • 1
    @winij In my answer, I'd added a space at the beginning. Either remove that or copy and paste the code from my previous comment. I don't have an IDE to test my code, I'm just typing it from my mobile – Nikos Hidalgo Dec 19 '19 at 16:45
  • hiii..can you help me out here --> https://stackoverflow.com/questions/59532667/particular-titlefetched-from-api-using-searchview – Wini Jan 07 '20 at 07:40
  • @Wini not sure If I could add anything more to the thread, sorry! – Nikos Hidalgo Jan 07 '20 at 09:40