Cameron wanted to cast Brolin in the film.
Brolin didn't want to do it, though, so he said no. Apparently, Cameron doesn't like being told no. Brolin tells Esquire:
“If I don’t want to do ‘Avatar,’ I’m not going to do ‘Avatar.’ James Cameron’s f—ing calling me this name and that name. Whatever. If James Cameron came to me and said, ‘Hey, man, why’d you say that?’ I’d go, ‘Because it happened.'”