2017-08-17 54 views
0

以下方案:getChildAt()後無法訪問類屬性()

我創建了一個具有充氣視圖的類'exampleClass'。這個類有一個屬性'String A'與相應的getter。

我創建了這個類的一個實例。對我來說沒有什麼驚喜的是,我可以撥打Log.v(LOG_TAG, instance.toString());,然後輸入Log.v(LOG_TAG, instance.getA());,這會產生正確的結果。

我將此實例添加到名爲container的ViewGroup。然後我打電話給container.getChildAt(0).toString()。這讓我如預期的那樣,與Log.v(LOG_TAG, instance.toString());的輸出相同,沒有區別。

什麼不工作是致電container.getChildAt(0).getSideA(或任何其他成員)。只有屬於充氣視圖的方法纔可用。

那麼有沒有辦法可以訪問屬性和成員?任何其他有關此主題的背景信息也表示讚賞。

回答

0

在使用getSideA方法之前將目標類型投射到container.getChildAt(0)

((TargetClassType) container.getChildAt(0)).getSideA() 
+0

這很有趣:我已經考慮過鑄造。起初,這並沒有奏效(Android Studio說鑄件是多餘的,但沒有訪問,雖然)。把它存儲一個變量然後才能工作是很有必要的。您可以將這些信息添加到您的解決方案。 – Reinmarius