2016-08-23 88 views
0

我想爲每個BDE的灰色陰影文本視圖中設置一個計數器。點擊BDE的名稱,有多少成員在特定的BDE下工作,將會看到。但我無法在灰色陰影的Textview中設置計數器。在我的例子中,BDE名稱Madhu顯示3次,但我不需要這個。 3將在灰色陰影文本視圖中顯示。設置計數器時出現問題

enter image description here

適配器類別:

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

也許''BDE名稱「+」:「+ position'?這取決於你的目標是什麼.....我不明白你想要得到什麼.... – Opiatefuchs

+0

我附上了一個圖像,馬杜將要顯示三次。但我不想那樣。 「BDE名稱:Madhu」只會顯示一次,3將顯示在灰盒(TextView)中。怎麼做? – anu208

+0

下面發佈了一個解決方案,它工作? – Squirrelkiller

回答

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; 

事實證明,你的確可以做到這一點,沒有任何中間列表。

+0

它完美的工作......它拯救了我的一天......非常感謝...... :) – anu208