I used notifyDataSetChanged() and it works fine for me.  Here's my
complete code with the notifyDataSetChanged() at the bottom in the
selection listener:

package com.pocketjourney.location.map;

import java.util.List;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

import com.pocketjourney.R;
import com.pocketjourney.location.DestinationModel;

public class DestinationTypesListAdapter  extends BaseAdapter
implements OnItemClickListener

{
        private List<String>    allTypes, activeTypes;

        private ListView destinationTypeList;

        public DestinationTypesListAdapter(ListView destinationTypeList)
        {
                this.destinationTypeList = destinationTypeList;

                this.allTypes = DestinationModel.getAllDestinationTypes();
                this.activeTypes = DestinationModel.getActiveDestinationTypes();

                destinationTypeList.setOnItemClickListener(this);
        }

        public View getView(int position, View convertView, ViewGroup
parent)
        {
                View destinationTypeLabel = null;
                if ( convertView == null )
                {
                        LayoutInflater inflater =
(LayoutInflater)parent.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                        destinationTypeLabel =
inflater.inflate(R.layout.list_item_destination_type, null);
                } else {
                        destinationTypeLabel = convertView;
                }

                String destinationType = (String) getItem(position);
                TextView destinationTypeText = (TextView)
destinationTypeLabel.findViewById(R.id.destination_type);
                destinationTypeText.setText(destinationType);

                ImageView typeSelectedImage= (ImageView)
destinationTypeLabel.findViewById(R.id.destination_type_selected);
                if (activeTypes.contains(destinationType)) {
        
typeSelectedImage.setImageResource(R.drawable.list_selection_checkmark);
                } else {
                        typeSelectedImage.setImageResource(R.drawable.empty);
                }

                return destinationTypeLabel;
        }

        public int getCount()
        {
                return allTypes.size();
        }

        @Override
        public Object getItem(int position)
        {
                return allTypes.get(position);
        }

        @Override
        public long getItemId(int position) {
                // We can simply use the array index as a unique id.
                return position;
        }

        /**
         *  Implementation of OnItemClickListener
         */
        @Override
        public void onItemClick(AdapterView adapterView, View view, int
position, long id)
        {
                String destinationType = (String) getItem(position);
                if (activeTypes.contains(destinationType)) {
                        activeTypes.remove(destinationType);
                } else {
                        activeTypes.add(destinationType);
                }
                DestinationModel.setActiveDestinationTypes(activeTypes);
                notifyDataSetChanged();
        }
}

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to