2014-04-24 4 views
1

이 내 첫 번째 질문은, 내가 어떤 방식으로 할 수없는 getChildView() 방법 확장에 반환됩니다 convertView에 동적으로 textViews 추가해야하지만입니다 .. 확장 목록보기에 convertview을 동적으로 생성 추가보기는 안드로이드

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

     ViewHolderChild holder; 
     LayoutInflater inflater = context.getLayoutInflater(); 

     if (convertView == null) { 
      convertView = inflater.inflate(R.layout.child_line, null); 
      holder = new ViewHolderChild(); 
      holder.txNumeroSolicitacao = (TextView) convertView.findViewById(R.id.textViewNumeroSolicitacao); 
      convertView.setTag(holder); 
     } else { 
      holder = (ViewHolderChild) convertView.getTag(); 
     } 
     holder.txNumeroSolicitacao.setText(String.valueOf(getChild(groupPosition,childPosition).getNumero())); 


    //if my log list isn't empty, I want add a textview dynamically to view  
     if(!getChild(groupPosition,childPosition).getLog().isEmpty()) { 

      holder.textViewResponse = new TextView(context); 
      RelativeLayout.LayoutParams alignParentLeft = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
      alignParentLeft.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE); 
      holder.textViewResponse.setLayoutParams(alignParentLeft); 
      ((ViewGroup) convertView).addView(holder.textViewResponse); 
     } 
     return convertView; 
    } 

그러나 textViewconvertView에 추가 할 수 없습니다. 응용 프로그램은 예기치 않은 동작을 항상 반환합니다.

답변

0

android : visibility = "gone"을 사용하여 child_line.xml에 TextView를 추가하고 현재 행의 바인드 된 객체의 로그가 비어있는 경우 getChildView에서 표시 여부를 설정할 수 있습니다.