Hello, I think you just use mData is enough to display value and key.
About your adapter please refer the way create customer baseAdapter from http://stackoverflow.com/questions/5324689/custom-adapter-for-gridview-in-android Regards Liem Vo On Wed, Apr 4, 2012 at 9:52 PM, Graham Bright <gbwienmobil...@gmail.com>wrote: > Hi, > > I have written a CustomAdapter to display a list of hash key+value > items as a list. But I am stuck on the line below. > > label.setText(my_VALUES[0]) > > Class two is my CustomAdapter and I am passing it a hashMap > > public MyCustomAdapter(DynamicLists dynamicLists, int row, > HashMap<String,String> data) > > here I combine key+value pairs and I assign them to an array called > my_VALUES. But I don't know if this is correct? > > How can I print out each KEY+VALUE pair as a seperate item in getview. > at the moment I can only use label.setText(my_VALUES[0]) > > Thanks > > graham > package gb.org; > > > //lists are not checkboxes > import java.util.ArrayList; > import java.util.Arrays; > import java.util.Collection; > import java.util.HashMap; > import java.util.Iterator; > import java.util.LinkedHashMap; > import java.util.List; > import java.util.Map; > import java.util.Map.Entry; > import java.util.Set; > > import android.app.ListActivity; > import android.content.Context; > import android.os.Bundle; > import android.util.Log; > import android.view.LayoutInflater; > import android.view.View; > import android.view.ViewGroup; > import android.widget.ArrayAdapter; > import android.widget.BaseAdapter; > import android.widget.ImageView; > import android.widget.ListView; > import android.widget.TextView; > import android.widget.Toast; > > > //class 1 > public class DynamicLists extends ListActivity { > > > > //class 2 > public class MyCustomAdapter extends BaseAdapter { > private HashMap<String,String> mData = new > HashMap<String,String>(); > private String[] mKeys; > String[] my_VALUES = new String[100]; // no need > > > > public MyCustomAdapter(DynamicLists dynamicLists, int row, > HashMap<String,String> data){ > mData = data; > mKeys = mData.keySet().toArray(new String[data.size()]); > Log.d(TAG, "INSIDE ADAPTER HELLO WORLD " + map.entrySet()); > > > String[] array = new String[map.size()]; > int count = 0; > String combined=""; > for(Map.Entry<String, String> entry : map.entrySet()){ > combined="A"+entry.getKey()+"B"+entry.getValue(); > > my_VALUES[count]=combined; > Log.d(TAG, " my_VALUES " + my_VALUES); > count++; > > > } > > > } > > @Override > public View getView(int position, View convertView, ViewGroup > parent) { > // TODO Auto-generated method stub > String key = mKeys[position]; > String Value = getItem(position).toString(); > > //do your view stuff here > Log.d(TAG, "inside getview "); > View row=convertView; > > if (row==null){ > LayoutInflater inflater=getLayoutInflater(); > row=inflater.inflate(R.layout.row, null); > } > > TextView label =(TextView)row.findViewById(R.id.blocked); > label.setText(my_VALUES[0]); //printing out the last value > > return row; > > } > @Override > public int getCount() { > > // TODO Auto-generated method stub > return mData.size(); > } > @Override > public Object getItem(int position) { > // TODO Auto-generated method stub > return mData.get(mKeys[position]); > } > @Override > public long getItemId(int position) { > // TODO Auto-generated method stub > return position; > } > > > } //end of class 2 > > > > private static final String TAG = "Example"; > > > //class 1 > > > public static HashMap<String, String> map = new HashMap<String, > String>(); > > /** Called when the activity is first created. */ > @Override > public void onCreate(Bundle savedInstanceState) { > super.onCreate(savedInstanceState); > //tie data to list, call constructor MyCustomAdapter > //populate the list. ArrayAdapter takes current class, layout > and array > map.put("year", "Apple"); > map.put("make", "Mango"); > map.put("model", "Grape"); > map.put("style", "Orange"); > map.put("series", "Peach"); > Log.d(TAG, "HELLO WORLD " + map.entrySet()); > //link to my adapter > setListAdapter(new MyCustomAdapter(DynamicLists.this, > R.layout.row, map)); > > } > > > @Override > protected void onListItemClick(ListView l, View v, int position, > long id) { > // TODO Auto-generated method stub > //super.onListItemClick(l, v, position, id); > String selection = l.getItemAtPosition(position).toString(); > Toast.makeText(this, selection, Toast.LENGTH_LONG).show(); > > > } > > > } //end of class 1 > > > > > > > -- > 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