This looks like a translation issue. Can you post more code other than the above? It's really hard to tell with just those two methods. Show us how you create the backgrounds, the camera, and the update and paint processes. Most likely you reset the translate coordinate or something.
Have you tried stepping through the code in a debugger and looking at the values of the variables you are using?
I have updated my codes.