我想在每个BDE的灰色阴影Textview中设置一个计数器。点击BDE的名称将显示在该特定BDE下有多少成员正在工作。但我无法在灰色阴影Textview中设置计数器。在我的情况下,BDE名称Madhu显示3次。但我不需要这个。 3将以灰色阴影Textview显示。
适配器类:
public class PendingViewAdapter extends
RecyclerView.Adapter<PendingViewHolders> {
private List<PendingBO> itemList;
private Context context;
private int count=0;
public PendingViewAdapter(Context context, List<PendingBO> itemList) {
this.itemList = itemList;
this.context = context;
}
@Override
public PendingViewHolders onCreateViewHolder(ViewGroup parent, int viewType) {
View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.pending_approval_row, null);
PendingViewHolders rcv = new PendingViewHolders(layoutView);
return rcv;
}
@Override
public void onBindViewHolder(PendingViewHolders holder, int position) {
final PendingBO pendingBO = itemList.get(position);
holder.txtOne.setText("BDE Name" + " : " + pendingBO.getEmpName());
// holder.txtRed.setText(pendingBO.getStatus());
holder.cardView.setCardBackgroundColor(Color.parseColor("#ffffff"));
holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ShowLeadDetails(pendingBO);
}
});
}
public void ShowLeadDetails(PendingBO pendingBO){
Intent intent = new Intent(context, LeadDetailsActivity.class);
AppController.getInstance().pendingBO = pendingBO;
// context.startActivity(intent);
((Activity) context).startActivityForResult(intent,0);
((Activity) context).finish();
}
@Override
public int getItemCount() {
return this.itemList.size();
}
}
答案 0 :(得分:1)
我会制作一个中间列表,我会搜索双打。每次找到一个双,删除双倍并增加原始计数器。完成此例程后,将List复制到实际的itemList。
当然也可以在itemList本身上进行。可能具有效率优势,我会先做中间列表,以便...更容易思考和分类步骤。
快速而肮脏的解决方案:
this.interList = itemList;
int i = 0;
while(i<this.interList.size()){
int j = 1;
while(j<this.interList.size()){
if(interList.get(i).Equals(interList.get(j)){
interList.remove(j);
interList.get(i).counter++;
} else j++;
}
}
this.itemList = this.interList;
事实证明,你确实可以在没有任何中间名单的情况下这样做。