RecyclerView 无法转换为 Xposed 上的 RecyclerView
RecyclerView cannot be cast to RecyclerView on Xposed
我开始开发一个xposed模块,但现在我得到了一个奇怪的错误。
我用了
RecyclerView player_recycler_view=(RecyclerView)card_content.getChildAt(2)
获取 RecyclerView。 card_content
是 RecyclerView 的 parent。
我收到这个错误
java.lang.ClassCastException: android.support.v7.widget.RecyclerView cannot be cast to android.support.v7.widget.RecyclerView
毫无意义! card_content
的其他 child 一切正常。
提前致谢!
@Andrew Sun 应该是正确的,我之前观察过这种模式 android.support
classes.
尝试比较两个 classloader:
if (RecyclerView.class.getClassLoader() == card_content.getChildAt(2).getClass().getClassLoader()) {
Log.v(TAG, "Same classloader");
} else {
Log.v(TAG, "Another classloader");
}
如果它们确实来自不同的 class 加载器,在 card_content.getChildAt(2)
上使用 getClass
和反射你应该能够调用它的方法。
我开始开发一个xposed模块,但现在我得到了一个奇怪的错误。 我用了
RecyclerView player_recycler_view=(RecyclerView)card_content.getChildAt(2)
获取 RecyclerView。 card_content
是 RecyclerView 的 parent。
我收到这个错误
java.lang.ClassCastException: android.support.v7.widget.RecyclerView cannot be cast to android.support.v7.widget.RecyclerView
毫无意义! card_content
的其他 child 一切正常。
提前致谢!
@Andrew Sun 应该是正确的,我之前观察过这种模式 android.support
classes.
尝试比较两个 classloader:
if (RecyclerView.class.getClassLoader() == card_content.getChildAt(2).getClass().getClassLoader()) {
Log.v(TAG, "Same classloader");
} else {
Log.v(TAG, "Another classloader");
}
如果它们确实来自不同的 class 加载器,在 card_content.getChildAt(2)
上使用 getClass
和反射你应该能够调用它的方法。