2016-10-22 40 views
0

我想啓動包含在自定義佈局內的動畫。該佈局用於列表視圖的每一行。如果移動到這個自定義佈局之外,動畫工作正常,所以問題似乎不在於images/xml文件。如何啓動包含自定義佈局的動畫

我相信問題在於我如何調用動畫。例如標準代碼,開始動畫作品(所以不使用自定義佈局):

ImageView mImageViewEmptying = (ImageView) findViewById(R.id.tetherPulseAnimationTest); 
((AnimationDrawable) mImageViewEmptying.getBackground()).start(); 

但現在我,如果我要開始自定義佈局內包含我那麼動畫(以下是潛在的錯! )膨脹的自定義佈局到一個視圖,然後做和以前一樣:

LayoutInflater inflater = this.getLayoutInflater(); 
View dialogView = inflater.inflate(R.layout.custom_listview_activetethers, null); 

ImageView mImageViewFilling = (ImageView) dialogView.findViewById(R.id.tetherPulseAnimation); 
((AnimationDrawable) mImageViewFilling.getBackground()).start(); 

現在,這肯定是錯誤的,因爲它實際上並沒有做任何事情。我可以在屏幕上看到動畫的第一幀,但上面的代碼似乎並沒有啓動它。任何想法,我錯了?

+0

make ImageView final .. –

+0

這是一般的建議還是解決方案?無論哪種方式,它不會使動畫動畫 – Calco

+0

如果您使用ImageView作爲final ..然後每個圖像動畫相同 –

回答

0

解決方案是創建一個自定義列表適配器類並重寫getView以執行所需的方法。然後在包含listview的活動中,創建自定義列表適配器的ArrayAdapter。最後,將listview的適配器設置爲ArrayAdapter對象。

現在可以通過自定義列表適配器類來控制所有自定義功能,並且它會在活動的列表視圖中顯示。