「已注销」 2016-07-26 05:37 采纳率: 0%
浏览 1090

安卓 自定义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);这一行有错误,不清楚什么原因,求大神帮忙指点一下

  • 写回答

2条回答 默认 最新

  • 赵金龙_Tinlone 2016-07-26 06:27
    关注

    view.
    setScaleX(
    value);再看哪个NullP

    评论

报告相同问题?

悬赏问题

  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型