0

プロジェクトで Expandable リストを使用しています。BaseExpandableListAdapter を拡張します。すべての子に一意のタグを設定したいので、次のコードを使用してタグを設定します。

     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 をオーバーライドしますが、それを使用する方法がわかりません。

4

1 に答える 1

0

if から次の 2 行を取得する必要があります。

 holder.checked.setTag(groupPosition*100+childPosition);
 holder.text.setTag(groupPosition*100+childPosition);
于 2013-09-25T08:25:38.680 に答える