Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7640367
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T08:39:12+00:00 2026-05-31T08:39:12+00:00

So basically, I have an Activity that implements an interface and has several inherited

  • 0

So basically, I have an Activity that implements an interface and has several inherited functions. each of these function would be invoked and pass the data that will be used to update my List adapter. this is the snippet:

@Override
public void onEntriesAdded(List<String> addresses) throws RemoteException {
    Log.v(TAG, "Entries Added notify!");
    listEntriesAdd.clear();
    listEntriesAdd = addresses;
    rosterHandler.sendEmptyMessage(1);
}

@Override
public void onEntriesUpdated(List<String> addresses) throws RemoteException {
    Log.v(TAG, "Entries Updated notify!");
    listEntriesUpdate.clear();
    listEntriesUpdate = addresses;
    rosterHandler.sendEmptyMessage(2);
}

@Override
public void onEntriesDeleted(List<String> addresses) throws RemoteException {
    Log.v(TAG, "onEntries deleted " + addresses);
    listEntriesDel.clear();
    listEntriesDel = addresses;
    rosterHandler.sendEmptyMessage(3);
}

because I’ve seen any solutions before, I pass the the work for each function into a Handler:

private Handler rosterHandler = new Handler() {

    @Override
    public void handleMessage(Message msg) {
        switch(msg.what) {
        case 0:
            // adding or any List<String> elements operations
            break;

        case 1:
            // adding or any List<String> elements operations
            break;

        case 2:
            // adding or any List<String> elements operations
            break;

        case 3:
            // adding or any List<String> elements operations
            break;

        case 4:
            // adding or any List<String> elements operations
            break;
        }
        mAdapterContact.notifyDataSetChanged();
    }
};

and then, there’s a ServiceConnection class that would be called when I execute bindService:

 @Override
protected void onResume() {
super.onResume();
    if (!mBinded) {
        Log.d(TAG, "Request BIND Service");
        mBinded = bindService(SERVICE_INTENT, mServConn, BIND_AUTO_CREATE);
    }
}

and the Service class:

 private class MyServiceConnection implements ServiceConnection {

public MyServiceConnection() {
}

@Override
public void onServiceConnected(ComponentName name, IBinder service) {
    globalBinder = service;
    mXmppFacade = IXmppFacade.Stub.asInterface(service);
    try {
    mRoster = mXmppFacade.getRoster();
    if (mRoster != null) {
        Log.i(TAG, "REBUILD ROSTER!!!");
        rosterHandler.sendEmptyMessage(0);// send it to handler
    }
    } catch (RemoteException e) {
    e.printStackTrace();
    }
}

@Override
public void onServiceDisconnected(ComponentName name) {
    try {
    mRoster.removeRosterListener(ContactList.this);
    } catch (RemoteException e) {
    e.printStackTrace();
    }
    mXmppFacade = null;
    mChatManager = null;
    mRoster = null;
    mListContact.clear();
    mListGroup.clear();
    mContactOnGroup.clear();
    mBinded = false;
}
}

So as you can see, I currently updating my List actually, an expandable listview like this…
but everytime I get this error: Android, ListView IllegalStateException: “The content of the adapter has changed but ListView did not receive a notification”!

I really confused, I don’t know where to place these procedures properly to avoid this error and still can update my list 🙁

Please HELP!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T08:39:13+00:00Added an answer on May 31, 2026 at 8:39 am

    Try to run mAdapterContact.notifyDataSetChanged(); on UI thread (Activity.RunOnUIThread), and double check mAdapterContact is real list adapter.
    Also, try to call notifyDataSetChanged() right after setAdapter()

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have two separate activities that both can reference a third activity. Basically I
Basically, I have a field in my table that shows when the latest activity
I have a navigation that is a list and has sublists and sublists. Basically,
I basically have a page which shows a processing screen which has been flushed
I basically have 7 select statements that I need to have the results output
I have written an app that basically shows a bouncing ball on the screen.
I would like to implement captcha when registering to XMPP server. Basically I have
Suppose I have an activity A that starts activity B and kills itself. Now
I have an activity which is basically a form. When the user selects an
The log reports that the database or cursor was not closed. I basically have

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.