安卓 自定义listview+动画 下拉列表出现空指针 求解决

错误是: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setScaleX(float)' on a null object reference
希望遇到过同样情况的大神给予指点

下面贴出我的代码

package net.bmvod.jukeboxv2;

import android.animation.ValueAnimator;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.view.View;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.ListView;

public class LvListView extends ListView implements AdapterView.OnItemClickListener {

private boolean flag = true;
private int lastPosition = 0 ;

public LvListView(Context context) {
    this(context, null);
}

public LvListView(Context context, AttributeSet attrs) {
    this(context, attrs, 0);
}

public LvListView(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    setOnItemClickListener(this);
}


public void startScaleAnimator(final View view, float start, float end) {
    final ValueAnimator animator = ValueAnimator.ofFloat(start, end);
    animator.setDuration(300);
    animator.start();
    animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
                float value = (Float) animation.getAnimatedValue();
                view.setScaleX(value);
                view.setScaleY(0.4f + (0.6f * value));
        }
    });
}


@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    if (flag == true) {
        startScaleAnimator(view, 0.6f, 1.0f);
        lastPosition = position;
        flag = false;
    } else {
        if(lastPosition == position){
            //startScaleAnimator(parent.getChildAt(lastPosition), 1.0f, 0.6f);
            lastPosition = position;
        }else{
            startScaleAnimator(view, 0.6f, 1.0f);
            startScaleAnimator(parent.getChildAt(lastPosition), 1.0f, 0.6f);
            lastPosition = position;
        }
    }

}

}


自定义的listview和adapter实现item的动画效果 然后刚加载出来的时候是没有问题的 但是如果列表下拉列表再点击item程序就会崩溃 并报错在 animator.addUpdateListener里面 view.setScaleX(value);这一行有错误,不清楚什么原因,求大神帮忙指点一下

1个回答

没有数据就别硬加载更多了

sld22525482
「已注销」 ???
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问