change ArrayAdapter<String> to BaseAdapter