You have the right idea using Listeners --> Reverse (wait for) --> shell to receive a netcat callback. However, when you use this same mechanism to create a Meterpreter listener, Metasploit is now expecting Meterpreter to call back--not a plain netcat shell.
All is not lost though, give yourself a callback with netcat (like you did),and right-click the host that shows up in Armitage and navigate to Shell N -> Upgrade to Meterpreter. Metasploit will then try to upload and execute meterpreter through your existing netcat shell. This doesn't always work though. In my experience it failed about 50% of the time. I'm not sure why. It's worth a try though.