1

これは私の最初の質問です。メソッドexpandableで返されるものに動的textViewsに追加する必要がありますが、どうにもできません..convertViewgetChildView()

   @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。アプリケーションは常に予期しない動作を返します。

4

1 に答える 1

0

android:visibility="gone" を使用して child_line.xml に TextView を追加し、現在の行のバインドされたオブジェクトのログが空であるかどうかに応じて getChildView で可視性を設定できます。

于 2014-04-24T14:03:35.687 に答える