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

Reply via email to