Prosecutors charged Armando Vieyra with first degree premeditated murder and tacked on a deadly weapon enhancement.
Police say he killed David Childs.
Court papers indicate Vieyra admitted the two engaged in sexual activity.
After what he calls "unwanted touching," Vieyra said he pushed Childs to the ground but denied killing him, according to investigators.
A judge set his bail at $1 million.