2016-09-06 2 views
0

xposed 모듈을 개발하기 시작했지만 이상한 오류가 발생합니다. 제가 사용했습니다RecyclerView는 Xposed에서 RecyclerView로 캐스팅 할 수 없습니다.

RecyclerView player_recycler_view=(RecyclerView)card_content.getChildAt(2) 

RecyclerView를 얻으려면. card_content은 RecyclerView의 부모입니다.

는이 오류

java.lang.ClassCastException: android.support.v7.widget.RecyclerView cannot be cast to android.support.v7.widget.RecyclerView 

그것은 아무 의미를 얻을! card_content의 다른 어린이들과 함께 모든 것이 잘 작동합니다.

미리 감사드립니다.

+0

클래스 로더 문제 일 수 있습니까? http://stackoverflow.com/questions/826319/classcastexception-when-casting-to-the-same-class –

답변

0

@Andrew Sun이 정확해야합니다. 이전에이 패턴을 관찰했습니다. android.support 클래스입니다.

두 클래스 로더를 비교해보십시오 :

그들은 당신이 메서드에 호출 할 수 있어야 card_content.getChildAt(2) 및 반사에 getClass를 사용하여, 다른 클래스 로더에서 실제로 경우
if (RecyclerView.class.getClassLoader() == card_content.getChildAt(2).getClass().getClassLoader()) { 
    Log.v(TAG, "Same classloader"); 
} else { 
    Log.v(TAG, "Another classloader"); 
} 

.

+0

예, 이것이 문제였습니다! 고맙습니다 – Materight

관련 문제