2017-08-17 96 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