2012-05-30 39 views
3

你如何避免爲完全相同的UI元素重複代碼?在android中,要以編程方式訪問元素,您需要使用唯一的ID爲每個元素命名。如何管理重複的UI元素

例如,我有一個後退按鈕,無論在哪裏使用,但由於必須標識它們,我最終得到了BackButton1,BackButton2,BackButton3等。因此我必須重寫相同的OnClickListener for每個按鈕。

有沒有類似於html'class'屬性或類似的方式來分組android中的元素?如果不是,命名重複元素的最佳方式是什麼?

+0

http://developer.android.com/resources/articles/layout-tricks-reuse.html –

回答

2

如果您要在佈局xml中定義按鈕,那麼您可以使用onclick屬性來引用您的活動中的一個常用方法,該方法將在按鈕被單擊時調用。

,如果你在XML中,然後你的活動使用onclick="doBack"你有一個方法叫

public void doBack(View v) { 
    // perform back 
} 
+0

這是一個適合我的問題的解決方案。謝謝 – Monokh

0

當然,你可以重用的UI組件,請參閱Android Developer's site更多細節:

ViewStub「因爲你不希望整個Layout被包括在內,但只是一些組件,並且再次獲知這一點的最佳來源將是Android developers website

至於重用ID的來講,我的看法是,只要他們不是可以重複使用的ID在同一Activity

從開發文檔:

的ID不必是整個唯一整個樹,但它應該是 在您正在搜索的樹的部分內唯一(通常可能是整個樹 ,因此當 可能時最好是完全唯一的)。

0

您是否考慮過在單一用戶界面上執行相同確切操作的多個元素是一個壞主意?如果你有一個被點擊的按鈕將你帶到上一個活動,你應該把它放在屏幕的一個易於訪問的部分。