2016-08-23 4 views
0

各BDEの灰色で網掛けされたTextview内にカウンタを設定したいと思います。 BDEの名前をクリックすると、そのBDEの下で何人のメンバーが作業しているかが表示されます。しかし、私は灰色の陰影のTextviewのカウンターを設定することができません。私の場合BDEの名前Madhuは3回表示されます。しかし私はこれを必要としません。 3が灰色の影付きTextviewに表示されます。カウンタを設定中の問題

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名" + ":" +位置 "?それはあなたの目標が何であるかによって決まります。私は本当にあなたが欲しいものを理解していません.... – Opiatefuchs

+0

私はMadhuが3回表示される予定の画像を添付しました。しかし、私はそれを望んでいません。 "BDE Name:Madhu"は1回だけ表示され、グレーボックス(TextView)には3が表示されます。どうやってするか? – anu208

+0

下記のソリューションを掲載しましたか? – Squirrelkiller

答えて

1

私はダブルスを探します中間リストを作るでしょう。ダブルを見つけるたびに、ダブルを取り除き、オリジナルのカウンターを上げてください。このルーチンが終了したら、リストを実際の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