如何使用android显示存储在hashmap中的屏幕上的键值

时间:2013-06-04 06:33:13

标签: android map android-listview hashmap screen

我是android的新手。我读取联系人作为名称和电话号码数据存储在csv文件中并存储在地图界面名称作为键,电话号码作为值。我需要添加我的哈希映射键,将数据值输入列表视图并在屏幕上显示以供用户看到我的代码是         Map maps = new HashMap();

        br = new BufferedReader(new FileReader(filename));
        while ((line = br.readLine()) != null) {

            // use comma as separator
            String[] contact = line.split(cvsSplitBy);
                       // contact[0]- name as key and contact[1]-phoneno as value
            maps.put(contact[0], contact[1]);

        }

从如何将这些键,值对添加到列表视图

1 个答案:

答案 0 :(得分:0)

你必须使用适配器。阅读有关Android适配器的信息。

你可以看一下这个基本的例子。 'list_item'是列表项的布局。为了获得更好的性能,请使用持有者(请参阅)。

创建此适配器后,您必须在ListView中进行设置。 listView.setAdapter(myAdapter);

public class Contact{
              String name;
              String phoneNumber;
        }

       public class MyAdapter extends ArrayAdapter<Contact> {
           private List<Contact> objects;

           public MyAdapter(Context context, List<Contact> objects){
           super(context,R.layout.list_item, objects);
           this.objects = objects;

       }
        @Override
        public View getView(int position, View view, ViewGroup parent) {
                  if (view == null) {
                LayoutInflater vi = (LayoutInflater)     context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                view = vi.inflate(R.layout.list_item, null);
            }

                     TextView name = (TextView) view.findViewById(R.id.name);

                     TextView phoneNumber= (TextView) view.findViewById(R.id.sound_label);

                     name.setText(objects.get(position).name);
                     phoneNumber.setText(objects.get(position).phoneNumer);
                     return view;
            }
        }