0

カスタム アダプターを備えた ExpandableListView があります。各親 (またはグループ) には TextView があり、各子 (アイテム) には textview とスイッチがあります。私の ChildModel には、文字列名 (TextView) と String[] 選択肢 (スイッチ) があります。ただし、ListView を展開するとスイッチの値が変わるため、レイアウトが適切に膨張していないと思います。これが私のコードです

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

        View v = convertView;

        if (v == null) {
            LayoutInflater inflater = (LayoutInflater)ctx.getSystemService
                    (Context.LAYOUT_INFLATER_SERVICE);
            v = inflater.inflate(R.layout.listview_row_child, parent, false);
        }

        TextView itemName = (TextView) v.findViewById(R.id.itemName);
        Swith itemDescr = (Switch) v.findViewById(R.id.itemDescr);

        ChildModel det = catList.get(groupPosition).getItemList().get(childPosition);

        itemName.setText(det.getName());
//      itemDescr.setText(det.getChoices()[0] + det.getChoices()[1]);
        itemDescr.setTextOff(det.getChoices()[0]);
        itemDescr.setTextOn(det.getChoices()[1]);

        return v;

    }

私が理解できない部分は、SwitchをTextViewに変更し、コメントアウトされた上記の行を使用すると、正しく表示されることです。誰かが私に理由を説明できますか? ありがとう!

スイッチに切り替えると、ツールバーの向きが「左/右」ではなく「はい/いいえ」になり、測定単位に「メートル/フィート」が表示されなくなったことに注意してください

ここに画像の説明を入力 ここに画像の説明を入力

4

1 に答える 1