When you need to update the adapter, iterate over your hash map and insert
all the data into a list.  Maybe do something like this:

1) Create a DataPairs class:

public class DataPairs
{
     public String _key;
     public String _value;

     public DataPairs(String key, String val)
     {
          _key = key;
         _value = val;
     }
}

2) Create a new list of DataPairs objects, iterate over your hash map, and
insert the data into your list
3) Update your adapter with the new list of data and call
notifyDataSetChanged()

Thanks,
Justin Anderson
MagouyaWare Developer
http://sites.google.com/site/magouyaware


On Tue, Apr 3, 2012 at 1:46 PM, Graham Bright <gbwienmobil...@gmail.com>wrote:

> Thanks Justin,
>
> Order is not important, as my end goal is to present to the user a simple
> list of values + keys. When the user longclicks on an item it will be
> deleted from the hash.
>
> What would you suggest?
>
> graham
>
>
>
>
> On Tue, Apr 3, 2012 at 9:24 PM, Justin Anderson <magouyaw...@gmail.com>wrote:
>
>> Keep in mind that HashMap does not have an order...  ArrayAdapter does
>> everything based on a position value, which indicates an ordered collection
>> of some sort.
>>
>> Thanks,
>> Justin Anderson
>> MagouyaWare Developer
>> http://sites.google.com/site/magouyaware
>>
>>
>> On Tue, Apr 3, 2012 at 1:16 PM, Graham Bright 
>> <gbwienmobil...@gmail.com>wrote:
>>
>>> Hi,
>>>
>>> I have a hashmap with key, value pairs example :-
>>>
>>> (msisdn,value)
>>>
>>> 43664xxxxxxx,2
>>> 43665xxxxxxx,3
>>>
>>> now I want to display this information in a ListView but I don't know
>>> how to feed the data to an ArrayAdapter.
>>>
>>> HERE IS MY ADAPTER, note I want to replace myList with data from the
>>> Hashmap a concatentated key+value.
>>>
>>> 1. Pass the above hashmap as an adapter, replacing myList with the
>>> hashmap
>>>
>>> adapter=new
>>> ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,myList);
>>>        setListAdapter(adapter);
>>>
>>> Note this is what I have without using the hashmap
>>>
>>> THANKS IN ADVANCE
>>>
>>>
>>> package listmodified.org;
>>>
>>> import java.util.Arrays;
>>> import java.util.ArrayList;
>>> import java.util.HashMap;
>>> import java.util.List;
>>> import java.util.Map;
>>>
>>> import android.app.ListActivity;
>>> import android.os.Bundle;
>>> import android.os.Handler;
>>> import android.os.Message;
>>> import android.view.View;
>>> import android.widget.AdapterView;
>>> import android.widget.ArrayAdapter;
>>> import android.widget.ListView;
>>> import android.widget.TextView;
>>> import android.widget.AdapterView.OnItemLongClickListener;
>>> import android.view.GestureDetector.OnGestureListener;
>>> import android.view.GestureDetector;
>>> import android.view.MotionEvent;
>>> import android.widget.Toast;
>>>
>>>
>>>
>>>
>>> public class listmodified extends ListActivity implements
>>> OnGestureListener {
>>>        public ArrayList<String> myList = new
>>> ArrayList<String>(Arrays.asList(items));
>>>        private TextView selection;  //  MAIN.xml
>>>        public ArrayAdapter<String> adapter; // my adapter
>>>        public OnItemLongClickListener itemDelListener;
>>>        private GestureDetector gestureScanner;
>>>        public int longClickedItem = 0;  //check if longClick is selected
>>> or
>>> not
>>>        private String itemSelected; // for delete function
>>>        private static final byte UPDATE_LIST = 100;
>>>        public AdapterView<?> parent; //used by OnLitemLongClickListener
>>>        public int position;
>>>
>>>        //tie items to an array list called myList
>>>        public static  String[] items={"lorem", "ipsum", "dolor",
>>>        "sit", "amet",
>>>        "consectetuer", "adipiscing", "elit", "morbi", "vel",
>>>        "ligula", "vitae", "arcu", "aliquet", "mollis",
>>>        "etiam", "vel", "erat", "placerat", "ante",
>>>        "porttitor", "sodales", "pellentesque", "augue", "purus"};
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>        @Override
>>>        public void onCreate(Bundle icicle) {
>>>        super.onCreate(icicle);
>>>
>>>        OnItemLongClickListener itemDelListener = new
>>> OnItemLongClickListener(){
>>>
>>>                //@Override
>>>                public boolean onItemLongClick(AdapterView<?> parent,
>>> View arg1,
>>>                                int position, long arg3) {
>>>                        // TODO Auto-generated method stub
>>>
>>>  itemSelected=parent.getItemAtPosition(position).toString();
>>>                        adapter.remove(itemSelected);
>>>                        Toast.makeText(listmodified.this, "position is:"
>>> + position,
>>> Toast.LENGTH_SHORT).show();
>>>                        myList.remove(this);  //remove the current object
>>> , position throws
>>> an exception
>>>                        adapter.notifyDataSetChanged();
>>>
>>>
>>>                        return false;
>>>                }};
>>>
>>>        setContentView(R.layout.main);
>>>
>>>
>>>        //DEFINE MY OWN VIEW TIE  TO ARRAYLIST myList WHICH CONTAINS
>>> STRINGS
>>>        adapter=new
>>> ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,myList);
>>>        setListAdapter(adapter);
>>>
>>>        //A VIEW OF THE LIST NECESSARY FOR DELETION
>>>
>>>        selection=(TextView)findViewById(R.id.selection);
>>>
>>>
>>>        // PART OF LONG CLICK SELECTED CODE
>>>        // CALLS IMPLEMENTED METHODS - detect gestures checking my list
>>> items
>>>        gestureScanner = new GestureDetector(this);
>>>        getListView().setOnTouchListener(new View.OnTouchListener() {
>>>      @Override
>>>    public boolean onTouch(View v, MotionEvent event) {
>>>            return gestureScanner.onTouchEvent(event);
>>>        }
>>>    });
>>>
>>>        //UPDATE VIEW DELETE WHEN ONLONG CLICK IS PRESSED
>>>        getListView().setOnItemLongClickListener(itemDelListener);
>>>
>>>        }
>>>
>>>
>>> //LIST ITEM PRESS CHECKING
>>>        public void onListItemClick(ListView parent, View v,
>>>        int position, long id){
>>>                selection.setText(myList.get(position));
>>>                //check to see if LONGCLICK IS PRESSED
>>>                if (longClickedItem != -1) {
>>>                     Toast.makeText(listmodified.this, "A short click
>>> detected",
>>> Toast.LENGTH_SHORT).show();
>>>
>>>                }
>>>                longClickedItem=0;
>>>        }
>>>
>>> //IMPLEMENTED BY GESTURE
>>>        @Override
>>>        public boolean onDown(MotionEvent arg0) {
>>>                // TODO Auto-generated method stub
>>>                return false;
>>>        }
>>>
>>>
>>>        @Override
>>>        public boolean onFling(MotionEvent e1, MotionEvent e2, float
>>> velocityX,
>>>                        float velocityY) {
>>>                // TODO Auto-generated method stub
>>>                return false;
>>>        }
>>>
>>>
>>> //CHECKS ONLONGPRESS EVENTS SET LONG PRESS TO -1,
>>> //COOL I CAN USE THIS TO SEE IF A LONG CLICK WAS SELECTED LATER ON
>>>
>>>        @Override
>>>        public void onLongPress(MotionEvent e) {
>>>                                // TODO Auto-generated method stub
>>>                Toast.makeText(listmodified.this, "A long click detected",
>>> Toast.LENGTH_SHORT).show();
>>>
>>>
>>>                if (e.getAction()==MotionEvent.ACTION_DOWN)
>>>                {
>>>
>>>                        longClickedItem = -1;
>>>
>>>                }
>>>
>>>        }
>>>
>>>
>>>        @Override
>>>        public boolean onScroll(MotionEvent e1, MotionEvent e2, float
>>> distanceX,
>>>                        float distanceY) {
>>>                // TODO Auto-generated method stub
>>>                return false;
>>>        }
>>>
>>>
>>>        @Override
>>>        public void onShowPress(MotionEvent e) {
>>>                // TODO Auto-generated method stub
>>>
>>>        }
>>>
>>>
>>>        @Override
>>>        public boolean onSingleTapUp(MotionEvent e) {
>>>                // TODO Auto-generated method stub
>>>                return false;
>>>        }
>>>        private Handler updateListHandler = new Handler() {
>>>        @Override
>>>        public void handleMessage(Message msg) {
>>>            switch (msg.what) {
>>>            case UPDATE_LIST:
>>>            int position = msg.arg1;
>>>                myList.remove(position);
>>>                adapter.notifyDataSetChanged();
>>>                Toast.makeText(listmodified.this, "OnSingleTapUp",
>>> Toast.LENGTH_SHORT).show();
>>>                break;
>>>
>>>            }
>>>            ;
>>>        };
>>>    };
>>>
>>>
>>>        }
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Android Developers" group.
>>> To post to this group, send email to android-developers@googlegroups.com
>>> To unsubscribe from this group, send email to
>>> android-developers+unsubscr...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/android-developers?hl=en
>>
>>
>>  --
>> You received this message because you are subscribed to the Google
>> Groups "Android Developers" group.
>> To post to this group, send email to android-developers@googlegroups.com
>> To unsubscribe from this group, send email to
>> android-developers+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/android-developers?hl=en
>
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>

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

Reply via email to