2017-10-16 7 views
-2

내 사용자 지정 어댑터에 php에서 얻을 수있는 전화 번호 배열 목록이 checkedContactsAsArrayList입니다. contactToCheck의 값은 항상 다른 배열에 존재합니다내 사용자 정의 어댑터에서 내 확인란을 기본적으로 선택하도록하려면 어떻게합니까?

for (int i = 0; i < checkedContactsAsArrayList.size(); i++) { 
    contactToCheck = checkedContactsAsArrayList.get(i); 

           } 

:

[+12345,+23456,+34567] 

내가 함께 checkedContactsAsArrayList의 각 값에서, 문자열, contactToCheck을 내 안드로이드 응용 프로그램에서 그것은 다음과 같이 보입니다 목록, MatchingContactsAsArrayList. 이 전화 번호 옆에 내 Listview의 모든 세포에서

[+12345,+23456,+34567,+45678,+56789,] 

checkbox 부하를하지만, contactToCheck 번호를 내가 확인란이 기본적으로 선택/쳤다 싶은 : 예를 들어

, MatchingContactsAsArrayList은 다음과 같이 나타납니다 .

내가이 일이 내

 if (MatchingContactsAsArrayList.contains(contactToCheck)) 
     { 

    } 

에 둘 필요가 무엇인지 말해 줄 수 있습니까?

여기 내 getView 코드 :

@Override 
    public View getView(int i, View convertView, ViewGroup viewGroup) { 
     System.out.println("getView number is :" + i + "convertView is : " + convertView); 

     ViewHolder viewHolder = null; 

     if (convertView == null) { 

      //if there is nothing there (if it's null) inflate the view with the layout 
      LayoutInflater li = (LayoutInflater) _c.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      convertView = li.inflate(R.layout.phone_inflate_listview, null); 

      viewHolder = new ViewHolder(); 
      //  So, for example, title is cast to the name id, in phone_inflate_listview, 
      //  phone is cast to the id called no etc 
      viewHolder.title = (TextView) convertView.findViewById(R.id.name); 
      viewHolder.phone = (TextView) convertView.findViewById(R.id.no); 
      viewHolder.invite = (Button) convertView.findViewById(R.id.btnInvite); 
      viewHolder.check = (CheckBox) convertView.findViewById(R.id.checkBoxContact); 

      //remember the state of the checkbox 
      viewHolder.check.setOnCheckedChangeListener((CompoundButton.OnCheckedChangeListener) _c); 

      convertView.setTag(viewHolder); 

     } else { 

      viewHolder = (ViewHolder) convertView.getTag(); 

     } 
//  store the holder with the view 
     final SelectPhoneContact data = (SelectPhoneContact) arraylist.get(i); 
     //in the listview for contacts, set the name 
     viewHolder.title.setText(data.getName()); 
     //in the listview for contacts, set the number 
     viewHolder.phone.setText(data.getPhone()); 

     ////********************* 

     //for every phone number in the MatchingContactsAsArrayList array list... 
     for (int number = 0; number < MatchingContactsAsArrayList.size(); number++) { 

       if (MatchingContactsAsArrayList.contains(contactToCheck)) 
       { 


      } 

     } 


     viewHolder.check.setChecked(data.isSelected()); 



     viewHolder.check.setTag(data); 

     // Return the completed view to render on screen 

     return convertView; 

    } 

답변

0
//for every phone number in the checkedContactsAsArrayList array list... 
     for (int number = 0; number < checkedContactsAsArrayList.size(); number++) { 

      //if a phone number is in our array of checked contacts 
      if (checkedContactsAsArrayList.contains(data.getPhone())) { 

       viewHolder.check.setChecked(true); 
      } 
     } 
0

경우 res/layout/phone_inflate_listview.xml에만 다음 trueandroid:checked 속성을 설정할 수 있습니다이 특정한 경우에 사용되며, 다음 모든 확인란이 기본적으로 선택됩니다.