Sachverhalt: A. Die Strafverfolgungsbehörden des Kantons Zürich führen gegen X._ eine Strafuntersuchung, unter anderem wegen versuchter Tötung. Sie verdächtigen ihn, am 17. Juli 2009 an einem Raubüberfall auf Y._ beteiligt gewesen zu sein und dabei mehrere Schüsse abgegeben zu haben, von denen einer Y._ am Oberschenkel verletzte. X._ stellte sich und befindet sich seit dem 21. Juli 2009 in Untersuchungshaft. Mit Entscheid 1B_50/2010 vom 9. März 2010 schützte das Bundesgericht die vom Haftrichter des Bezirksgerichts Zürich gegen X._ verfügte Verlängerung der Untersuchungshaft bis zum 24. April 2010. B. Am 22. April 2010 verlängerte der Haftrichter des Bezirksgerichts Zürich die Untersuchungshaft gegen X._ Haft bis zum 24. Juli 2010. Mit Beschwerde in Strafsachen beantragt X._, diesen Haftrichterentscheid aufzuheben und ihn aus der Haft zu entlassen. Ausserdem ersucht er um unentgeltliche Rechtspflege und Verbeiständung. C. Das Bezirksgericht verzichtet auf Vernehmlassung. Die Staatsanwaltschaft IV beantragt, die Beschwerde abzuweisen. 