He was a founder member of the
Democratic Party, previously a member of the
Meeting Point. He was a member of
Southern District Council (representing
Ap Lei Chau Estate) between 1994–99 and of
Tai Po District Council (representing
Tai Po Central) from 1999 to 2011. Cheng was first elected to the Legislative Council in 1995 representing the
Financial, Insurance, Real Estate and Business Services constituency but left the council when it was replaced by the Provisional Legislative Council in July 1997. He was elected to represent the New Territories East constituency in
1998 and won re-election in
2000,
2004 and
2008. He subsequently decided to vote against the proposals, and announced in his Legco speech that he would quit the party because "small, but critical differences of opinion" prevented him from fulfilling his election pledge to strive for universal suffrage in 2012. Cheng stood down at the 2012 election, in which he supported several pan-democratic candidates in New Territories East. He helped
Gary Fan, who stood second in his list in previous elections and also quit the Democratic Party owing to disagreement over the 2010 electoral reform proposals, of
Neo Democrats to win a seat in the constituency. He joined
D100 as a radio host after retiring from the Legislative Council. Although once denied rejoining electoral politics, Cheng changed his mind and contested the
2016 legislative election in New Territories East. He lost the bid with only 3.08% support. Three of Neo Democrat's Shatin District Councillors defected from Gary Fan to Cheng on the election day; they were subsequently dismissed from the party for Fan's failure in re-election. ==Personal life==