총 게시물 39,159건, 최근 1 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[안드로이드]

[안드로이드] java.lang.ClassCastException 오류 질문드립니다

글쓴이 : josep 날짜 : 2018-05-03 (목) 10:49 조회 : 2152
글주소 : http://www.androidside.com/B49/169792
 
  서울게임아카데미
추천JAVA, 2018년 한국 소비자만족지수 1위, 고용노동부국비지원, 수강료조회
www.seoulgame.co.kr
  아이티뱅크 할인담당 박성민
KG아이티뱅크 신규학생 쿠폰할인 및 이벤트 안내, IT진로상담 예약접수
kgsitbank.kr/
  데브렉 자바마스터
JAVA, JSP, 스트럿츠, 스프링, MVC, 온라인 자바 동영상 교육과정.
www.devlec.com
신청하기


안드로이드, 자바 그리고 다양한 질문에 대해 성실히 답해드립니다. Q&A Jang


private LinearLayout mContent;


private void bindEditors() {

    .

    .

      final LayoutInflater inflater = (LayoutInflater) mContext

.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    .

    final BaseRawContactEditorView editor;

    if (!type.areContactsWritable()) {

    editor = (BaseRawContactEditorView) inflater.inflate(

               R.layout.raw_contact_readonly_editor_view, mContent, false);

       ((RawContactReadOnlyEditorView) editor).setListener(this);

   } else {

    editor = (RawContactEditorView) inflater.inflate(R.layout.raw_contact_editor_view,

               mContent, false);

    .

    .

        editor.setEnabled(mEnabled);

mContent.addView(editor);

    bindGroupMetaData();

}

 

private void bindGroupMetaData() {

   if (mGroupMetaData == null) {

       return;

    }

   int editorCount = mContent.getChildCount();

   for (int i = 0; i < editorCount; i++) {

      

  RawContactEditorView editor = (RawContactEditorView) mContent.getChildAt(i);

         editor.setGroupMetaData(mGroupMetaData);

   }

}


위와같이 'RawContactEditorView editor = (RawContactEditorView) mContent.getChildAt(i);'  을 통해서 캐스팅하는 도중에 런타임 에러가 생깁니다..

7.0버전까지는 문제없이 동작하였는데 7.1.1의 특정 버전에서부터 문제가 생기고있네요;


아래는 로그입니다;


01-01 00:50:42.951  4300  4300 D AndroidRuntime: Shutting down VM

01-01 00:50:42.951  4300  4300 E AndroidRuntime: FATAL EXCEPTION: main

01-01 00:50:42.951  4300  4300 E AndroidRuntime: Process: com.android.contacts, PID: 4300

01-01 00:50:42.951  4300  4300 E AndroidRuntime: java.lang.ClassCastException: com.android.contacts.editor.RawContactReadOnlyEditorView cannot be cast to com.android.contacts.editor.RawContactEditorView

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at com.android.contacts.editor.ContactEditorFragment.bindGroupMetaData(ContactEditorFragment.java:969)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at com.android.contacts.editor.ContactEditorFragment.bindEditors(ContactEditorFragment.java:946)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at com.android.contacts.editor.ContactEditorFragment.bindEditorsForExistingContact(ContactEditorFragment.java:583)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at com.android.contacts.editor.ContactEditorFragment.setData(ContactEditorFragment.java:537)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at com.android.contacts.editor.ContactEditorFragment$2.onLoadFinished(ContactEditorFragment.java:2230)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at com.android.contacts.editor.ContactEditorFragment$2.onLoadFinished(ContactEditorFragment.java:2214)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at android.app.LoaderManagerImpl$LoaderInfo.callOnLoadFinished(LoaderManager.java:489)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at android.app.LoaderManagerImpl$LoaderInfo.onLoadComplete(LoaderManager.java:457)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at android.content.Loader.deliverResult(Loader.java:144)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at com.android.contacts.ContactLoader$LoadContactTask.onPostExecute(ContactLoader.java:1166)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at com.android.contacts.ContactLoader$LoadContactTask.onPostExecute(ContactLoader.java:1135)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at android.os.AsyncTask.finish(AsyncTask.java:667)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at android.os.AsyncTask.-wrap1(AsyncTask.java)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:684)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6126)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)

01-01 00:50:42.951  4300  4300 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)


캐스팅 에러인데 문제가 될만한점 지적해주시면 정말 감사하겠습니다 ㅠ




질문자가 자신의 포인트 5 점을 걸었습니다.
답변하시면 포인트 2을, 답변이 채택되면 포인트 4을 드립니다.

질문답변 게시판에서 궁금한 사항을 해결하셨다면, 애써 답변해주신 분께 잘 되었다고 따뜻한 댓글 한마디 남겨주세요.
그리고 답변해주신 분의 글을 '추천' 해주세요.
추천받으신 분에게 1포인트가, 추천하신 분에게도 1포인트가 적립됩니다. ^^

어비서 2018-05-03 (목) 11:21
https://android.googlesource.com/platform/packages/apps/Contacts/+/android-4.1.1_r6.1/src/com/android/contacts/editor
오류가 RawContactReadOnlyEditorView가 RawContactEditorView로 캐스팅 될 수 없다로 보이는데
제가 보기에는 위 URL 통해서 확인해보니 진짜 그냥 클래스가 달라서 그런거 같네요
댓글주소 추천 0 반대 0
     
     
어비서 2018-05-03 (목) 11:22
[@어비서]
7.1 버전 이전에서 되었던거는 상위뷰로 자동 캐스팅 되서 되었던거 같네ㅐ요
댓글주소 추천 0 반대 0
     
     
josep 2018-05-03 (목) 11:33
[@어비서]
감사합니당 새로 수정해야겠네요
댓글주소 추천 0 반대 0
이전글  다음글  목록 글쓰기

 


Copyright ⓒ www.androidside.com. All rights reserved.
채팅 권한: 글쓰기 1개
2레벨 이상만 대화 가능
공개 채팅: 평일 !(9시 ~ 17시),토,일
안사2 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기