1
假設我有一個應用程序,名稱爲button0,button1等類似的按鈕,直到button9。如何避免Android測試應用程序中的代碼重複?
如何在不重複代碼的情況下執行以下操作?
button0 = (Button) activity.findViewById(com.sample.SampleApp.R.id.button0);
button1 = (Button) activity.findViewById(com.sample.SampleApp.R.id.button1);
...
button9 = (Button) activity.findViewById(com.sample.SampleApp.R.id.button9);
我試圖使用反射,但代碼看起來不乾淨。
for (int i = 0; i <= 9; i++) {
String btnName = "button" + i;
/* do reflection stuff to link self.buttonX
with a reference to com.sample.SampleApp.R.id.buttonX */
}
謝謝! getResources()。getIdentifier()會幫助很多,但有沒有辦法避免Button數組? – hgf
我想你可以通過使用帶Button元素的ArrayList來清理它,但我認爲你不會比它更「乾淨」。我很想被證明是錯的,雖然:) –
ArrayList根本沒有幫助,但你幫我看到,我不需要實例變量來引用UI元素,如果我可以創建一個局部變量來引用被測試的UI由findViewById發現的元素。謝謝。 – hgf