0
我有一個包含多個頁面的活動,每個頁面都包含一個ListView。我正在使用自定義列表項的適配器。每個項目都動畫到列表中:使用動畫動畫列表項目
public View getView(int i, View view, ViewGroup viewGroup) {
if (view == null) {
v = inflater.inflate(R.layout.list_item, null);
doTheThing = true;
}
//Some random code here
if(doTheThing) {
Animation animation = AnimationUtils.loadAnimation(a, R.anim.list_item_animation);
animation.setStartOffset(i * 60 + 200);
v.startAnimation(animation);
}
return v;
}
使用此設置我有兩個問題。第一個是,當我向左或向右滾動兩頁以上動畫重複時,它應該只在第一次打開活動時運行。第二個問題是,如果我快速滾動列表中的某些項目,它們會錯過ocasinally,然後它們會回生。它總是隨機的,當它們全部加載時,它不會再次發生。
我該如何解決這個問題?
感謝這個想法,我試圖通過在活動中設置一個靜態長變量來保存ListViews, (new Date())。getTime()'然後在ListAdapter中檢查該變量,並將其與當前時間進行比較。如果差異超過1000(這對我所需要的可以),動畫不會執行。在Activity中,我還使用putLong()和getLong()來傳送開始時間,如果活動重新啓動(如更改屏幕方向時)。 – Squeazer
與此問題無關...但您應該避免創建你不需要的對象(new Date()...)。System.currentTimeMillis()將完成同樣的事情。 –