sch*_*sch 2 android android-animation android-listview notifydatasetchanged
我有一个ListView和它的适配器类扩展BaseAdapter.
我想为列表视图中的一个自定义部分设置动画.
我有部分动画,从右到左滑动 - 这是第一次非常好.
在适配器的方法中,与所示类似,为简洁起见:
public View getView(){
Animation an = AnimationUtils.loadAnimation(mContext, R.anim.transladar);
an.reset();
vi.startAnimation(an);
return vi;
}
Run Code Online (Sandbox Code Playgroud)
看起来不错,但是当我添加一个项目 chatAdapter.notifyDataSetChanged();被触发时刷新我的所有项目并重新启动动画.
我只想动画适配器本身的最后一项.
我希望你能帮助我.
你可以添加公共布尔变量(isFirstTime = true;)并在你的getView()检查中像这样
if(isFirstTime){
Animation an = AnimationUtils.loadAnimation(mContext, R.anim.transladar);
an.reset();
vi.startAnimation(an);
if(position == getCount()-1) isFirstTime =false;
}else{
if(position == getCount()-1){
Animation an = AnimationUtils.loadAnimation(mContext, R.anim.transladar);
an.reset();
vi.startAnimation(an);
}
}
Run Code Online (Sandbox Code Playgroud)
注意:这是快速解决方案我不知道是否有其他方法.
希望这能帮到你.
| 归档时间: |
|
| 查看次数: |
1946 次 |
| 最近记录: |