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

Reply via email to