Android 中的 Java 继承

标签 java android inheritance casting

我正在尝试使用此线程 How to check visibility of software keyboard in Android? 中描述的代码

正如你所看到的,作者使用的是一个继承自 LinearLayout 的类。然后按如下方式初始化新实例:

LinearLayoutThatDetectsSoftKeyboard mainLayout = (LinearLayoutThatDetectsSoftKeyboard)findViewById(R.id.main);

这可能吗?我收到 ClassCastException。正如所解释的here要进行向下转型,您首先需要将父级引用到子级。

最佳答案

是的,这是可能的。您是否在 main.xml 布局中正确声明了自定义 LinearLayout? 像这样的东西:

<com.yourpackage.LinearLayoutThatDetectsSoftKeyboard></com.yourpackage.LinearLayoutThatDetectsSoftKeyboard>

关于Android 中的 Java 继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6634938/

相关文章:

java - AndEngine - 无法实例化 Activity

java - 在JSP中处理多个提交按钮

java - android TextView设置文本问题

java - 继承,需要super调用

c++ - 使用基类指针调用函数?

java - 是否可以使 websphere MQ 使用 UDP 协议(protocol)?

窗口居中时 Java 组件不出现

java - 使用Android虚拟设备的编译问题

java - 用户的 XMPP 名册 getPresence 状态 (java)

java - String.class(的类型)是 Object.class(的类型)的子类型吗?