点击ListView 的item中的控件,删除当前item时,想让它一动画的方式 消失,但是,点击删除时,item可以删除掉,但是动画总是执行的最后一行 求解、??
这是主要代码
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(mActivity).inflate(R.layout.layout_dialog_item_detial, null);
holder = new ViewHolder();
holder.tv_time = (TextView) convertView.findViewById(R.id.tv_time);
holder.tv_score = (TextView) convertView.findViewById(R.id.tv_score);
holder.iv_delete = (ImageView) convertView.findViewById(R.id.iv_delete);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
- DiagHistory dh = historyLists.get(position);
- holder.tv_time.setText(dh.getScanTime());
- holder.tv_score.setText(dh.getDiaScore());
- holder.iv_delete.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- View itemView = (View) holder.iv_delete.getParent();
- removeListItem(itemView, position);
- SQLLiteService.getInstance(mActivity).deleteDialogHistory(holder.tv_time.getText().toString().trim());
- }
- });
-
- return convertView;
- }
-
- class ViewHolder {
- TextView tv_time, tv_score;
- ImageView iv_delete;
- }
-
- private void removeListItem(View rowView, final int positon) {
- final Animation animation = (Animation) AnimationUtils.loadAnimation(rowView.getContext(),
- R.anim.remove_dialog_list_item);
- animation.setAnimationListener(new AnimationListener() {
- public void onAnimationStart(Animation animation) {
- }
-
- public void onAnimationRepeat(Animation animation) {
- }
-
- public void onAnimationEnd(Animation animation) {
- historyLists.remove(positon);
- DialogItemDetailAdapter.this.notifyDataSetChanged();
- animation.cancel();
- }
- });
- rowView.startAnimation(animation);
- }