我在一个活动中有一个ListView.在每个列表项中都有一个文本和一个CheckBox.单击CheckBox,我想从ListView中删除该项目,并希望添加一个动画,如向下滑动或淡出,然后删除.
有帮助吗?
解决方法
看看我的回答
protected void removeListItem(View rowView,final int positon) { // TODO Auto-generated method stub final Animation animation = AnimationUtils.loadAnimation(rowView.getContext(),R.anim.splashfadeout); rowView.startAnimation(animation); Handler handle = new Handler(); handle.postDelayed(new Runnable() { @Override public void run() { // TODO Auto-generated method stub array.remove(positon); adapter.notifyDataSetChanged(); animation.cancel(); } },1000); }
在onView中单击ListView调用removeListItem(查看rowView,final int positon)方法
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView <? > parent,View rowView,int positon,long id) { // TODO Auto-generated method stub Toast.makeText(rowView.getContext(),"" + positon,Toast.LENGTH_LONG).show(); removeListItem(rowView,positon); } });
和res / anim / splashfadeout.xml
<?xml version="1.0" encoding="utf-8" ?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator" android:zAdjustment="top" android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="2000" />