in和on两个都正确。in the river是指在水中,on the river是指浮在水上。in和on的用法区别: 

1、in表示在……中,在……内,例如:in the street(在街上),in the wall(在墙里面,例如在墙上打个钉)。

2、on表示在一个平面上,例如: on the table(在桌上),on the lake(在湖面上) 。