If G is simple and non-abelian, then $\hat{G}$ has only one element? Some extra information:
G is a group and the set $\hat{G}:=\{f:G\to S^1|f$ is a group homomorphism $\}$.
$(f_1*f_2)(g):=f_1(g)f_2(g),$ for $f_1,f_2\in\hat{G}$ and $g\in G$

We know that a simple group has no normal non-trivial subgroups. So this was my try:
If G is simple that means its only subgroups are e and G itself. But for it to have the identity element, there must be elements $a,b\in G$, s.t. $ab=e$ or $ba=e$, which cannot be and $\hat{G}$ has only one element??
If G is simple that means its only subgroups are e and G itself.


No, it means that its only normal subgroups are $\{e\}$ and $G$ itself.

Fortunately the kernel of $f$ has to be a normal subgroup, so you still know that the kernel is either $\{e\}$ or $G$ itself.


  But for it to have the identity element, there must be elements $a,b∈G$, s.t. $ab=e$ or $ba=e$, which cannot be


I cannot follow this argument.

Instead, hint: Suppose $f$ is a homomorphism with kernel $\{e\}$. Since $G$ is non-abelian, there exist $a,b$ such that $aba^{-1}b^{-1}\ne e$. But what is $f(aba^{-1}b^{-1})$?

Bonus question: Which groups other than $S^1$ will this argument also work for?
If $G$ be simple group and $f \in \hat{G}$ then $ker f$ is normal in $G$.As $G$ is simple $ker f=G$ or $ \{e_G\}$.How ever if $ker f=\{e_G\}$ then $ \hat{G}$ has a subgroup isomorphic to $G$ which is not possible as $G$ is non-abelian.So $ker f=G$ i.e. $ \hat{G}$ is trivial.