In 1982, Fung obtained his undergraduate BA degree in Social Policy and Public Administration at the Bradford University of the United Kingdom. Fung was elected to the (now disbanded) Urban Council in 1983 (where he served until 1995). He served as the President of a local group, Concern for Sham Shui Po People's Livelihood, since 1984, and founded the ADPL in 1986. In 1998, he was elected to the Sham Shui Po District Board (and served until 1991). In 1991 he became a legislator through direct election. He also served as a member in the Hong Kong Housing Authority from 1990 to 1998.
Fung's work is mainly focused on the livelihood issues in the Sham Shui Po district. On political issues he adopted a more moderate stance compared with other democrats. Fung's most controversial move among the democratic camp was his acceptance to join the Provisional LegCo, set up by the PRC Government to replace the LegCo temporarily upon reunification in 1997, due to the failure of the Chinese and British sides to agree on a smooth transition of the political system. The democratic camp generally boycotted the provisional body and other appointments by the Chinese side, criticizing it as a step backwards in democracy. Nevertheless, Fung accepted a number of appointments from the Chinese government, joined the Preparatory Committee for the establishment of the Hong Kong Special Administrative Region, and while he voted against the setup of Provisional LegCo in 1996 in the Preparatory Committee, he (and other ADPL members) joined the provisional body eventually. His move was regarded as a compromise with the Chinese government and was criticized by other members of the democratic camp.
Fung served in the Provisional LegCo until the first LegCo election of the HKSAR in 1998, in which he (and other ADPL members) was defeated. He was re-elected into LegCo in 2000. He was also elected to the Sham Shui Po District Council in 2000 and 2003.
See also: Politics of Hong Kong