IllegalStateException : 어댑터의 내용이 변경되었지만 ListView가 알림을받지 못했습니다.

마랏

IllegalStateException이 발생할 때 직관적으로 알고 있습니다. 그러나 제 경우에는 소스의 문제가 어디인지 추측 할 수 없습니다. 감히 말하지만, 문제 라인이 있습니다.

private class LoadMoreDataTask extends AsyncTask<Void, Void, Void> {
    @Override
    protected Void doInBackground(Void... params) {
        if (isCancelled()) {
            return null;
        }
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
        }
        OFFSET = OFFSET + COUNT;
        getWallsData();
        return null;
    }
    @Override
    protected void onPostExecute(Void result) { 

        mPostListAdapter.notifyDataSetChanged();                
        wallPostsList.onLoadMoreComplete();
        super.onPostExecute(result);
    }
    @Override
    protected void onCancelled() {
        wallPostsList.onLoadMoreComplete();
    }

logcat 메시지가 있습니다.

java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. [in ListView(2131099757, class com.costum.android.widget.LoadMoreListView) with Adapter(class android.widget.HeaderViewListAdapter)]
마랏

문제가 해결되었습니다. 답을 찾았 습니다 ! 제가 한? 스위처, Boolean LOADMORE SWITCHER = false를 추가했습니다. 전역 가시성과 대체 된 mPostListAdapter.notifyDataSetChanged (); doInBackground ()에서 getWallsData ()로.

private Boolean LOADMORE SWITCHER=false;
....
private class LoadMoreDataTask extends AsyncTask<Void, Void, Void> {
    @Override
    protected Void doInBackground(Void... params) {
        if (isCancelled()) {
            return null;
        }
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
        }
        OFFSET = OFFSET + COUNT;
        LOADMORE=true;
        getWallsData();
        return null;
    }
    @Override
    protected void onPostExecute(Void result) { 

       // mPostListAdapter.notifyDataSetChanged(); was replaced to getWallsData() body
        wallPostsList.onLoadMoreComplete();
        super.onPostExecute(result);
    }
    @Override
    protected void onCancelled() {
        wallPostsList.onLoadMoreComplete();
    } 
}
.....
getWallsData(){
     ...
     if(LOADMORE){
          mPostListAdapter.notifyDataSetChanged();
          LOADMORE=false;


     }
}

저는 매우 기쁩니다.이 문제는 더 이상 발생하지 않았습니다.

java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. [in ListView(2131099757, class com.costum.android.widget.LoadMoreListView) with Adapter(class android.widget.HeaderViewListAdapter)] 

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

오류가 발생합니다 : java.lang.IllegalStateException : 어댑터의 내용이 변경되었지만 ListView가 알림을받지 못했습니다.

분류에서Dev

java.lang.IllegalStateException, 어댑터의 내용이 변경되었지만 ListView가 알림을받지 못했습니다.

분류에서Dev

java.lang.IllegalStateException : 어댑터의 내용이 변경되었지만 ListView가 알림을받지 못했습니다-범용 이미지 로더가있는 목록

분류에서Dev

"어댑터의 내용이 변경되었지만 ListView에서 알림을받지 못함"예외 해결 방법

분류에서Dev

사용자 정의 어댑터가있는 ListView 내의 TextView가 업데이트되지 않습니다.

분류에서Dev

notifyDataSetChanged ()가 호출 되어도 데이터가 변경되면 ListView가 알림을 수신하지 않습니다.

분류에서Dev

Flutter 기능의 Firebase 클라우드 메시징이 작동하지만 알림을받지 못했습니다.

분류에서Dev

viewpager 어댑터에 오류가 발생했습니다. java.lang.IllegalStateException : 지정된 하위에 이미 상위가 있습니다.

분류에서Dev

SignalR 코어 콘솔 클라이언트가 알림을받지 못함

분류에서Dev

내 파이썬 코드가 목록의 변수를 변경하고 있지만 어떻게 / 왜 변경되었는지 볼 수 없습니다.

분류에서Dev

데이터가 변경되었지만 프런트 엔드가 업데이트되지 않았습니다.

분류에서Dev

데이터가 변경되었지만 프런트 엔드가 업데이트되지 않았습니다.

분류에서Dev

"UI 테스트 실패 : 2.0 초 내에보기가 사라지고 알림을받지 못했습니다."오류

분류에서Dev

대화 조각과 사용자 지정 목록보기 어댑터 사이의 내부를 구현하는 동안 오류가 발생했습니다.

분류에서Dev

내 서버가 일정 기간 내에 연결을받지 못했는지 어떻게 알 수 있습니까?

분류에서Dev

with_items를 사용할 때 변경되지 않은 핸들러가 알림을받습니다.

분류에서Dev

사용자 지정 어댑터가 내 게시물의 데이터를 덮어 쓰는 ListView

분류에서Dev

glibc 오류가 무엇이 잘못되었는지 알지 못했습니다.

분류에서Dev

사용자 지정 어댑터 내부에 데이터가 없습니다.

분류에서Dev

Flutter NotificationListener가 내 알림을받지 못하는 이유는 무엇입니까?

분류에서Dev

어댑터 설정 후 RecyclerView의 크기가 변경되지 않습니다.

분류에서Dev

Android에서 응용 프로그램을 닫는 동안 실제 장치에서 하나의 신호 알림을받지 못했습니다.

분류에서Dev

내가 JAR 파일을 실행하고 할 때 오류가 발생했습니다. IllegalStateException이 : 위치가 설정되어 있지 않습니다

분류에서Dev

Laravel Echo가 푸셔로부터 알림을받지 못함

분류에서Dev

내 조각에서 RecycleView의 값을받지 못했습니다.

분류에서Dev

배경 이미지의 위치가 잘못되었습니다.

분류에서Dev

응답 데이터에 "* http"가 포함되어있을 때 간단한 http 서버를 구성했습니다. *는 5 자 미만의 문자열이 될 수 있습니다. 브라우저는 아무것도받지 못했습니다.

분류에서Dev

푸시 알림을받지 못하는 Android 에뮬레이터

분류에서Dev

24GB 파일이 제거되었지만 사용 가능한 공간은 변경되지 않았습니다. 무슨 일이 일어 났을까요?

Related 관련 기사

  1. 1

    오류가 발생합니다 : java.lang.IllegalStateException : 어댑터의 내용이 변경되었지만 ListView가 알림을받지 못했습니다.

  2. 2

    java.lang.IllegalStateException, 어댑터의 내용이 변경되었지만 ListView가 알림을받지 못했습니다.

  3. 3

    java.lang.IllegalStateException : 어댑터의 내용이 변경되었지만 ListView가 알림을받지 못했습니다-범용 이미지 로더가있는 목록

  4. 4

    "어댑터의 내용이 변경되었지만 ListView에서 알림을받지 못함"예외 해결 방법

  5. 5

    사용자 정의 어댑터가있는 ListView 내의 TextView가 업데이트되지 않습니다.

  6. 6

    notifyDataSetChanged ()가 호출 되어도 데이터가 변경되면 ListView가 알림을 수신하지 않습니다.

  7. 7

    Flutter 기능의 Firebase 클라우드 메시징이 작동하지만 알림을받지 못했습니다.

  8. 8

    viewpager 어댑터에 오류가 발생했습니다. java.lang.IllegalStateException : 지정된 하위에 이미 상위가 있습니다.

  9. 9

    SignalR 코어 콘솔 클라이언트가 알림을받지 못함

  10. 10

    내 파이썬 코드가 목록의 변수를 변경하고 있지만 어떻게 / 왜 변경되었는지 볼 수 없습니다.

  11. 11

    데이터가 변경되었지만 프런트 엔드가 업데이트되지 않았습니다.

  12. 12

    데이터가 변경되었지만 프런트 엔드가 업데이트되지 않았습니다.

  13. 13

    "UI 테스트 실패 : 2.0 초 내에보기가 사라지고 알림을받지 못했습니다."오류

  14. 14

    대화 조각과 사용자 지정 목록보기 어댑터 사이의 내부를 구현하는 동안 오류가 발생했습니다.

  15. 15

    내 서버가 일정 기간 내에 연결을받지 못했는지 어떻게 알 수 있습니까?

  16. 16

    with_items를 사용할 때 변경되지 않은 핸들러가 알림을받습니다.

  17. 17

    사용자 지정 어댑터가 내 게시물의 데이터를 덮어 쓰는 ListView

  18. 18

    glibc 오류가 무엇이 잘못되었는지 알지 못했습니다.

  19. 19

    사용자 지정 어댑터 내부에 데이터가 없습니다.

  20. 20

    Flutter NotificationListener가 내 알림을받지 못하는 이유는 무엇입니까?

  21. 21

    어댑터 설정 후 RecyclerView의 크기가 변경되지 않습니다.

  22. 22

    Android에서 응용 프로그램을 닫는 동안 실제 장치에서 하나의 신호 알림을받지 못했습니다.

  23. 23

    내가 JAR 파일을 실행하고 할 때 오류가 발생했습니다. IllegalStateException이 : 위치가 설정되어 있지 않습니다

  24. 24

    Laravel Echo가 푸셔로부터 알림을받지 못함

  25. 25

    내 조각에서 RecycleView의 값을받지 못했습니다.

  26. 26

    배경 이미지의 위치가 잘못되었습니다.

  27. 27

    응답 데이터에 "* http"가 포함되어있을 때 간단한 http 서버를 구성했습니다. *는 5 자 미만의 문자열이 될 수 있습니다. 브라우저는 아무것도받지 못했습니다.

  28. 28

    푸시 알림을받지 못하는 Android 에뮬레이터

  29. 29

    24GB 파일이 제거되었지만 사용 가능한 공간은 변경되지 않았습니다. 무슨 일이 일어 났을까요?

뜨겁다태그

보관