Thanks for that, worked a treat...sorta. Tried a custom ListField and only overriding that like you showed but it didn't work for some reason although strangely enough adding it when creating a ListField worked. E.g for anyone who might want to know in the future:
ListField lf = new ListField()
protected boolean navigationMovement(int dx, int dy, int status, int time)
Cheers, also inspired the solution to BEFs showing the background colour too.