Yesterday I was discussing language learning with a friend and he mentioned that when he was in Japan studying Japanese, it was fairly easy to understand the other students, but very difficult to understand the Japanese themselves.
If you learn a language from a textbook and/or in a class, it’s often quite a surprise to discover that native speakers of your target language don’t speak textbook: they don’t necessarily give model answers to your questions, or speak in complete sentences, and they tend to use a lot of words you haven’t heard before, including slang. Most of your fellow students, and other people who have learnt the language as a second/foreign language, speak textbook, so they are usually easier to understand than native speakers.
Some textbooks claim to teach you the slang and other more colloquial aspects of language, but they tend to become out-of-date quite quickly because language is constantly changing.
In order to learn the language that native speakers use, you have to spend as much time as possible listening and speaking to them.