In a small bowl cream together the butter and sugar until light and fluffy. Beat in the egg. Combine the flour, baking powder and salt; add to creamed mixture alternating with the milk, beating well after each addition, fold in the ginger, pineapple and coconut. Pour into a 9X9 greased baking pan.For the topping, in a small bowl combine the sugar, flour and coconut, cut in the butter until crumbly, I had to get in there with my hands and mush it up really good. Sprinkle the topping over the pineapple mixture and bake in a 375 degree oven for 40-45 minutes or until a toothpick inserted comes out clean. Cool on a wire rack.