我的線性佈局有兩種觀點:如何使用按鈕來控制另一個查看
- 客戶視圖,顯示動態的東西
- 一鍵
我想使用按鈕使自定義視圖無效,以便可以通過Android重新繪製。我在所有視圖所在的Activity中實現了onClickListener()
。但OnClickListener()
似乎沒有訪問監聽器綁定的視圖以外的其他查看器。如何在按鈕OnClickListener()
的不同視圖上調用invalidate()?
我的線性佈局有兩種觀點:如何使用按鈕來控制另一個查看
我想使用按鈕使自定義視圖無效,以便可以通過Android重新繪製。我在所有視圖所在的Activity中實現了onClickListener()
。但OnClickListener()
似乎沒有訪問監聽器綁定的視圖以外的其他查看器。如何在按鈕OnClickListener()
的不同視圖上調用invalidate()?
您可以通過Activity.findViewById(id)
檢索其他視圖。如果您已經在XML佈局中聲明瞭自定義視圖並且已將其指定爲android:id
,則必須將返回的對象轉換爲所需的類型。否則,如果你手動實例化你的視圖(即通過調用它的構造函數),只需以實例變量的形式保持對象的引用
您可以將您需要的視圖設置爲活動的屬性,並且您將能夠從偵聽器方法訪問它們。乾杯!
我手動聲明按鈕。現在它在Activity的onCreate()中被實例化。這是否意味着我必須在Activity中使用全局實例變量,以便onClickListener()可以訪問它? – kvzrock 2012-03-17 18:18:41
你明白了,但術語是錯誤的:)在OO世界裏沒有任何東西像'全局變量',所有東西都屬於一個對象。在這種情況下,你的'Activity'對象需要保持對'View'對象的引用 – Raffaele 2012-03-17 18:37:53