cleaner implementation of custom adapter and listview clicks