2016-07-08 6 views
0

확장 가능한 listview를 만들었습니다. 더하기를 클릭하면 해당 하위 이름과 개수가 movielist에 추가된다는 것을 의미합니다. 중복 된 하위 이름과 개수가 목록에 추가됩니다. 증가 카운트 값과 이름이 list.I에 추가됩니다 관련 name`arraylist android에서 중복을 제거합니다.

@Override 
    public View getChildView(final int groupPosition, final int childPosition, 
          boolean isLastChild, View convertView, ViewGroup parent) { 

     final Child child = (Child) getChild(groupPosition, childPosition); 
     final Child modelChild = groups.get(groupPosition).getItems().get(childPosition); 


     viewHolder.plus.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 

       checkin_layout.setVisibility(View.VISIBLE); 
       if(modelChild.getCount()>=0) // set your count default 0 when you bind data initially 
       { 
        int count = (modelChild.getCount()) + 1; 
        modelChild.setCount(count); 
        count1=count1+1; 
//     int s= Integer.parseInt(itemname.getText().toString()); 
//     Log.d("s--", String.valueOf(s)); 
        // count1=s+count1+1; 
        itemname.setText(Integer.toString(count1)+"items"); 
        // viewHolder.txtView.setText(Integer.toString(count1)+"items"); 

        Detailpage.item.setText(Integer.toString(count1)+"items"); 

        int total = 50 * child.getcount(); 

        String name = modelChild.getName(); 

        Movie movie = new Movie(); 

        movie.setcheckin_name(name); 
        movie.setcheckin_count(Integer.toString(total)); 
         movieList.add(movie); 
       HashSet hs = new HashSet(); 
       hs.addAll(movieList); 
       movieList.clear(); 
       movieList.addAll(hs); 
       movieList.add(movie); 

       } 


       // set your other items if any like above 
       groups.get(groupPosition).getItems().set(childPosition, modelChild); 
       notifyDataSetChanged(); 
      } 
     }); 

`

+0

해시 세트를 사용해 보았습니다. 복제 된 이름이 사용 된 후에 추가되었습니다. –

+0

@AbserveTech Dude 전 문제가 있었지만 지난 번 논의한 내용에 대해서는 – Nisarg

+0

관련 코드를 보관하고 @AbserveTech ..를 모두 삭제하십시오! ! –

답변

0

의 수를 중복 된 이름을 삭제하고 업데이트 할 것은 당신이 1, 2을 가지고 배열을 갖고 있다고 할 수 있습니다 , 3,4 ..

그리고 나서 2 개의 새로운 항목 : 2, 7 및 코드 :

if (array.contains(entry)) { 
    // in case of 2 we will go here and we do not want to add because it already exists 
} else { 
    // in case of 7 we want to add so we add following line 
    array.add(entry); 
} 

너무 오래 짧은 이야기, 배열리스트라는 방법을 사용하여 배열이 이미 요소가 있는지 확인 할 수있는 포함하고 중복

을 피할 수 있음을 확인하여이
+0

if (movieList.contains (movie)) { // 2의 경우 우리는 여기에 갈 것이고 우리는 이미 있기 때문에 추가하고 싶지 않다. movieList.remove (movie); } else { // 7의 경우에 다음과 같이 추가하고 싶습니다. movieList.add (movie); } –

+0

나는 코드를 사용하여 중복 된 코드를 추가했습니다. –

+0

내 코드를 이해합니까? 중복이 추가 될 수 없습니다 .. 왜 당신은 제거합니까? –

관련 문제