Replace an element of a List with a concrete Id
I don't like your itemChanged and index variables.
If you iterate over a list and keep track of the index anyway, why don't you use an ordinary for-loop?
In addition to that, you also just copy the value of your index variable and break out of the loop; you could easily merge all that to one loop with one condition.
This:  

    int itemChanged = -1;
    int index = -1;
    for (Suggestion suggestionItem : mSuggestions) {
        index++;
        if(suggestionItem.getId() == suggestion.getId()){
            itemChanged = index;
            break;
        }
    }
    if (itemChanged != -1) {
        mSuggestions.set(itemChanged, suggestion);
        notifyItemChanged(itemChanged);
    }


would become this:

for (int index = 0; index &lt; mSuggestions.size(); index++) {
    if(mSuggestions.get(index).getId() == suggestion.getId()){
        mSuggestions.set(index, suggestion);
        notifyItemChanged(index);
        break;
    }
}


You don't even need to check if there is an item to replace, because if the condition is never met, it's never going to execute the code inside of it.