如何在notifyDataSetChanged之后避免Listview重置位置?

时间:2013-04-06 12:24:55

标签: android listview layout notifydatasetchanged

我将Listview放在屏幕的中央。我开始动画:

hideAnimation= new TranslateAnimation(0, -220, 0, 0);
hideAnimation.setDuration(500);
hideAnimation.setFillBefore(false);
hideAnimation.setFillAfter(true);
hideAnimation.setAnimationListener(this);

在方法onAnimationEnd中,我清除动画并设置如下布局:

mlistView.layout(-220, 0, 500, 500);

到目前为止一切正常。 但是在mlistView.layout(-220,0,500,500)之后,我需要刷新listview.so我只需要调用

adapter.notifyDataSetChanged();

然后我的ListView回到了屏幕中心......

谁知道怎么处理这个?

1 个答案:

答案 0 :(得分:0)

将您的位置保存在参数x , y , z中 致电notifyDataSetChanged后,您可以这样做

yourlistView.setLocation(x,y,z);

并在列表视图中添加此功能

public setLocation(int x, int y, int z){
//Do whatever you want
}