Showing status for the last list item in a ListView using ViewHolder

 Showing the status for the last list item in a ListView using ViewHolder


Cover Image of Showing status for the last list item in a ListView using ViewHolder
Cover Image of Showing status for the last list item in a ListView using ViewHolder


To show the status of the last list item in a ListView using ViewHolder, you can follow these steps:


In your adapter class that extends BaseAdapter or RecyclerView.Adapter, define a boolean variable lastItem and initialize it to false.


In the getView() or onBindViewHolder() method of your adapter, check if the current position is the last item in the list by comparing it to the size of the list:


For BaseAdapter:


javascript

Copy code

if(position == (list.size() - 1)){

    lastItem = true;

} else {

    lastItem = false;

}

For RecyclerView.Adapter:


javascript

Copy code

if(position == (list.size() - 1)){

    holder.lastItem = true;

} else {

    holder.lastItem = false;

}


In your ViewHolder class, define a boolean variable lastItem and initialize it to false. Then, in the constructor, set the visibility of the status view to View.GONE.



Copy code

class MyViewHolder extends RecyclerView.ViewHolder {

    TextView statusView;

    boolean lastItem = false;


    MyViewHolder(View itemView) {

        super(itemView);

        statusView = itemView.findViewById(R.id.status_view);

        statusView.setVisibility(View.GONE);

    }

}


In the onBindViewHolder() method of your adapter, set the visibility of the status view to View.VISIBLE if the current position is the last item in the list:



Copy code

if(holder.lastItem){

    holder.statusView.setVisibility(View.VISIBLE);

} else {

    holder.statusView.setVisibility(View.GONE);

}


You can also set the text of the status view to show the status of the last item

Post a Comment

Previous Post Next Post