2013-09-24 3 views
0

Я с помощью Расширяемого списка в моем project.I расширяет BaseExpandableListAdapter, я хочу, чтобы установить уникальный тег для каждого ребенка, я использую следующий код для установки метки:Установите уникальный идентификатор для ребенка в ExpandableList

 public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { 
    ArrayList<String> childtemp= (ArrayList<String>) childitems.get(groupPosition); 


    final ViewHolder holder; 
    View v = convertView; 

    if (v == null) { 
     holder = new ViewHolder(); 
     v = inflatter.inflate(R.layout.childrow, null); 
     holder.text = (TextView) v.findViewById(R.id.childrow); 
     holder.checked = (CheckBox) v.findViewById(R.id.childcheck); 
     v.setTag(holder); 

     holder.checked.setChecked(false); 
     holder.checked.setTag(groupPosition*100+childPosition); 
     holder.text.setTag(groupPosition*100+childPosition); 
    } 
    else { 
     ((ViewHolder) v.getTag()).text.setTag(groupPosition*100+childPosition); 
     holder = (ViewHolder) v.getTag(); 
     getid = (Integer) holder.text.getTag(); 
     check(getid , holder); 
     } 

    holder.text.setText(childtemp.get(childPosition).toString()); 

и его рабочее только для первой позиции, которую я расширяю. как можно что-то сделать для каждого установленного тега? Я переопределяю onGroupExpanded, но я не знаю, как это использовать.

+0

Что происходит, когда 'v! = Null'? – Geobits

+0

Я отредактировал свой пост, пожалуйста, просмотрите еще раз – mary

ответ

0

должен выйти из следующей строки, если.

holder.checked.setTag(groupPosition*100+childPosition); 
holder.text.setTag(groupPosition*100+childPosition); 
Смежные вопросы