Fatti

- [D.] ha affittato ai coniugi [A.] dei locali destinati all'esercizio di un commercio di antiquariato. - Il 17 marzo 1982, [D.] ha notificato ai conduttori un aumento del canone annuo a 9'360 franchi. Le parti hanno avviato trattative, ma [D.] ha infine ritirato l'avviso di aumento con lettera del 24 marzo 1982. - Nel luglio 1983, il negozio [A.] è stato oggetto di furto, causando un danno da 3,5 a 4 milioni di franchi. I conduttori hanno rimproverato a [D.] di aver loro consegnato locali inadeguati. - Il 7 febbraio 1984, [D.] ha risolto il contratto di locazione con scadenza al 31 luglio 1984. - I coniugi [A.] si sono opposti alla risoluzione e hanno concluso principalmente per l'accertamento della sua nullità, in subordine per l'accordo di un primo rinnovo del contratto di locazione di due anni.

Legge

1. Secondo l'art. 28 cpv. 3 AMSL, una risoluzione da parte del locatore è nulla quando interviene entro due anni dopo che è stato raggiunto un accordo davanti alla commissione di conciliazione, che il locatore ha rinunciato a portare la questione davanti all'autorità giudiziaria o è soccombuto in un procedimento giudiziario. Tuttavia, il tribunale cantonale ha ritenuto che il ritiro dell'avviso di aumento, intervenuto al di fuori di qualsiasi procedura, non comportasse gli effetti previsti da questa disposizione. Il Tribunale federale condivide questa interpretazione, ritenendo che l'art. 28 cpv. 3 AMSL si riferisca solo alle conseguenze del procedimento davanti alla commissione di conciliazione e al giudice.

2. Secondo l'art. 31 n. 1 cpv. 2 AMSL, chi avrà denunciato il contratto di locazione perché il conduttore salvaguarda o intende salvaguardare i diritti che l'ordinanza gli conferisce è punibile penalmente, e questa illiceità penale comporta la nullità civile del recesso ritorsivo. Tuttavia, il tribunale cantonale ha ritenuto che questo caso di nullità…