This is what I've come up with for the proof, but I feel like I'm missing a huge piece of the puzzle here. Any thoughts?
Proof. Suppose $R$ is an integral domain and let $a\in R$ be any idempotent. Then,
$a^{2}=a\Longrightarrow a^{2}-a=a(a-1)=0$
Since there cannot be any zero divisors in $R$ it follows that $a=0$ or $a-1=0\Rightarrow a=1$ as desired.
Now, if $R$ is not an integral domain we need show that for any nonzero $a\in R$ with the property that $a^{2}=a$, then $a$ is a zero-divisor.
If $a\ne1$, then $a^{2}=a\Rightarrow a(a-1)=0$. So either $a=0$ or $a=1$, but by assumption $a\ne 0$. So $a$ is a zero-divisor. QED
I don't think you need to use as many cases.
$a(a-1) = 0$ as you noted, so if neither $a$ nor $a-1$ is $0$, i.e. $a$ is neither $0$ nor $1$, then $a$ is a zero divisor since $a(a-1) = 0$ and neither term is $0$.