我正在尝试使用此线程 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/