I was living in another country for many years and struggled with the language. I could read and write it, but speaking and understanding were (still are) a problem. I found this on youtube about how to use 5 principles and 7 actions to help learn another language. I hope that it can help others too:
I see that my problem came from not taking in what people were saying and finding it really difficult to get past not being able to understand the spoken language. So I subconsciously blocked the language and concentrated on what I could do well - learning vocabulary and grammar. Although I have moved, I am still trying to improve in this language - it will not defeat me! But now I will be consciously trying to use his actions to help me. After 10 years of my way not getting me very far, a couple of months using his way can only help me!
That's really interesting. Good luck, I hope it works.
Something I hadn't realised before but almost everyone I work with is a parent. Not so much now but when I first moved to a Brazil I was always made to feel safe and not be self concious about making mistakes. People would understand me and feedback and then I'd go away and realise I'd said something completely wrong. They would attempt social conversation or include me with patience, like his example of the man on the train and that made a big difference.
Listening is hard though, it's easy to zone out. I still do this a lot.