每次扩展组时动画组扩展

时间:2012-09-01 18:56:41

标签: android android-widget expandablelistview expandablelistadapter

我试图在每次扩展ExpandableListView的群组时,使用来播放一些动画。到目前为止,我执行以下自定义适配器的getChildView(基于BaseExpandableListAdapter):

public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View view,
        ViewGroup parent) {
    // Auto-generated method stub
    ExpandListChild child = (ExpandListChild) getChild(groupPosition,childPosition);
    if (view == null)
    {
        LayoutInflater inflater = 
                (LayoutInflater) m_context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view=inflater.inflate(R.layout.expandlist_child_item, null);

        AnimatorSet anim = (AnimatorSet) AnimatorInflater.loadAnimator(m_context, 
                R.animator.expand_list_animation);

        anim.setInterpolator(new OvershootInterpolator());
        anim.start();
    }

    TextView tv = (TextView) view.findViewById(R.id.tvChild);
    tv.setText(child.getName());
    tv.setTag(child.getTag());

    CheckBox cb = (CheckBox) view.findViewById(R.id.checkBox1);
    cb.setChecked(child.getState());
    return view;
}

问题在于,因为我仅在创建新视图时应用动画,所以这仅在第一次展开组时起作用。我也试图在任何情况下应用它(不仅在view==null时),但问题是动画是为所有扩展的孩子(甚至已经扩展的其他组的那些)播放的。

我一直在努力让这个工作,我无法弄清楚如何。非常感谢您的帮助。

0 个答案:

没有答案