I think the problem comes from this line
mWordFavourite = new ArrayList<String>(Arrays.asList(strFavourite.split(",")));
where you create a new ArrayList <string> object every time but you should append to it?
& get the last one otherwise you should put it in one variable
If you are checking if its size() >0
But each time you create a new object not appending to it
Maybe I am wrong!