codice:
Book book = new Book()
book.setNome(nome.getText().toString());
dh.editBook( book );
L'istruzione in grassetto crea un nuovo oggetto, di conseguenza non è lo stesso oggetto che tu cerchi di modificare, di conseguenza, andrà in errore o, quantomeno, non effettuerà la modifica perchè quell'oggetto non esiste nel database.

Quello che devi fare è dichiarare "final" l'oggetto Book che sta fuori dal Listener (quello che ottieni con getSerializableExtra() ) e utilizzare quel riferimento per la modifica.


Ciao.